• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: Polling和Interrupt可否同時存在?
#9
新會員
新會員


查看用戶資訊
感謝回答~ Orz
再請問一下,用PIC16也是一樣嗎?

發表於: 2005/12/8 17:12
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#8
版主
版主


查看用戶資訊
Ans 1 : 因為是使用C18 Compiler, 所以只適用於 PIC18Fxxxx的元件。

Ans 2: 當然可以,只是浪費中斷響應時間及一些RAM 而已。

Ans 3: 可以在 PICmicro 18C MCU Family Reference Manual 的第十章有詳細的說明,資料可自網站下載或直接向 Microchip要這本書,很厚的一本。

http://ww1.microchip.com/downloads/en/DeviceDoc/39500a.pdf


發表於: 2005/12/8 11:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#7
高級會員
高級會員


查看用戶資訊
引述:
"使用組合語言時是不一樣的,高優先權中斷 W, BSR , STATUS 會自動存入 SHADOW 暫存器裡,返回時只要用 RETFIE FAST 就可以自 SHADOW 暫存器裡取回。
但在低優先權中斷時這三個暫器 W,BSR,STATUS就必須自行存到RAM裡"

什麼?!我還以為不管高或低優先權都要用先另存暫存器...
沒想到高優先權只要用"RETFIE FAST"指令就可以了...
真是受益良多....
另外想再請教三個小問題...
Q1:
請問這適合用在哪些型號的IC?
Q2:
假設高優先權使用低優先權那種先另存暫存器的方法?
也可以嗎?(雖然是多此一舉!)
Q3:
"高優先權中斷 W, BSR , STATUS 會自動存入 SHADOW 暫存器裡,返回時只要用 RETFIE FAST 就可以自 SHADOW 暫存器裡取回。"
這個資料和指令哪裡可以找到?!
謝謝.....

發表於: 2005/12/8 10:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#6
版主
版主


查看用戶資訊
這要取決於是否用C或Assembly來寫程式,如果是C18寫程式的話不管高、低優先權中斷 C18 都會將 W , BSR , STATUS 三個暫存器存起來。但使用組合語言時是不一樣的,高優先權中斷 W, BSR , STATUS 會自動存入 SHADOW 暫存器裡,返回時只要用 RETFIE FAST 就可以自 SHADOW 暫存器裡取回。
但在低優先權中斷時這三個暫器 W,BSR,STATUS就必須自行存到RAM裡。

範例部分可以參考 : C:\Program Files\Microchip\MPASM Suite\Template\Object 裡的檔案

;******************************************************************************
;
High priority interrupt routine
The high priority interrupt code is placed here.

        
CODE

HighInt
:

;    *** 
high priority interrupt code goes here ***


        
retfie    FAST

;******************************************************************************
;
Low priority interrupt routine
The low priority interrupt code is placed here.
This code can be removed if low priority interrupts are not used.

LowInt:
        
movff    STATUS,STATUS_TEMP    ;save STATUS register
        movff    WREG
,WREG_TEMP        ;save working register
        movff    BSR
,BSR_TEMP        ;save BSR register

;    *** low priority interrupt code goes here ***


        
movff    BSR_TEMP,BSR        ;restore BSR register
        movff    WREG_TEMP
,WREG        ;restore working register
        movff    STATUS_TEMP
,STATUS    ;restore STATUS register
        retfie

;******************************************************************************

發表於: 2005/12/8 10:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#5
高級會員
高級會員


查看用戶資訊
Hi~~cason!
就如你所想的一樣...
如果中斷中有使用到W暫存器...
那內容就會被更改囉!
通常做法是一進入中斷就要先儲存W的內容!
要返回前再叫回來~~

當RCREG暫存器的內容被傳出後...
RCIF就會自動清為"0"~~

發表於: 2005/12/7 20:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#4
新會員
新會員


查看用戶資訊
抱歉~ 插個花
請問如果程式被中斷之後,暫存器W會被改掉嗎?
還是會自動回到中斷前的狀態?
如果W會被改掉是不是要自己先找個位址存起來,中斷要結束時在存回去哩?

還有如果UART使用中斷接收,是不是可以確定每一次只有一筆資料到達,收完之後還需不需要重複確認RCIF哩?

發表於: 2005/12/7 17:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#3
高級會員
高級會員


查看用戶資訊
感謝版主大大的回答....
那我了解了!

發表於: 2005/12/6 14:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: Polling和Interrupt可否同時存在?
#2
版主
版主


查看用戶資訊
可以的,UART 的發送用polling很平常,但UART的接收最好就用中斷來接收

發表於: 2005/12/6 14:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Polling和Interrupt可否同時存在?
#1
高級會員
高級會員


查看用戶資訊
如題...請教一下!
在同一個程式中是否可同時存在這兩種方式?!(PIC18F2X2)
ex:
[功能]
A/D轉換後,透過RS232送給電腦接收....
電腦接收完畢回傳一訊號給PIC.....
PIC再傳新資料!
[做法]
A/D使用到五個通道(輪流轉換並傳出結果至PC,之後用Interrupt等待電腦給訊號,收到訊號後再傳新的五筆資料,類推...)
A/D每個通道的資料是否已傳送出去用Polling來判斷!

請問這樣的寫法OK嗎?

發表於: 2005/12/6 11:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------