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


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: PICC 無法 BUILD...
#14
版主
版主


查看用戶資訊
其實還是要看成是怎樣寫的,如果中斷函數沒有使用到 Timer0 的話,一般在中斷裡就不會去檢查 T0IF 的,所以也就不容易發生誤判的情形。

發表於: 2009/6/9 9:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#13
資深會員
資深會員


查看用戶資訊
看起來光只有 T0IF 是無法進入 ISR , PICC 的寫法是有點脫褲子放屁 .....

以下是我的小驗證程式 , ENABLE TMR0 & 1 但只 ENABLE TIMER 1 INTERRUPT , 所以那中斷點永遠無法到達

Attach file:



jpg  (0.00 KB)

Link only for registered users

發表於: 2009/6/8 20:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#12
資深會員
資深會員


查看用戶資訊
其實我的重點是: 就算有其他的中斷源 , 但如沒設 T0IE , T0IF 是否會觸發中斷而進入 ISR , 因我本身的接觸範圍主要在 I/O 部份,
很少觸及其他中斷 , 大部份只有一個 TMR0 作 TIMING CONTROL , 但總是不希望程式有任何的潛在的不穩定因素, 所以才有點打破沙鍋問到底, 望板主見諒.......

發表於: 2009/6/8 18:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#11
新會員
新會員


查看用戶資訊
參照:

Beee 寫道:
參照:

Ryang 寫道:
[quote]

Timer0 在 PIC16F 系列是屬於自行運作的計數器,所以只要發生 0xFF 變成 0x00 的溢位就會將 T0IF 設定成為1,程式可以用 Polling 的方式不必使用中斷的方式就可以得知Timer0 的溢位。


謝謝指點 , 但沒設 TOIE , 只有 T0IF 會進入 ISR 嘛 ?這才是我質疑 要雙重 CHECK 的重點 ......

有無設立 GIE & T0IE PROGRAMER 自己心裡有數 .....


「但沒設 TOIE , 只有 T0IF 會進入 ISR 嘛 ?」
只有T0IF == 1不會進ISR
但如果有別的中斷發生,那就會進ISR了

所以這個寫法應該是建立在兩個前提:
一、多個中斷。
二、T0IE有時候會暫時關掉。

也謝謝這個討論串嚕,以前也沒去深入想過這個差別。

發表於: 2009/6/8 18:01
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#10
資深會員
資深會員


查看用戶資訊
參照:

Ryang 寫道:
[quote]

Timer0 在 PIC16F 系列是屬於自行運作的計數器,所以只要發生 0xFF 變成 0x00 的溢位就會將 T0IF 設定成為1,程式可以用 Polling 的方式不必使用中斷的方式就可以得知Timer0 的溢位。


謝謝指點 , 但沒設 TOIE , 只有 T0IF 會進入 ISR 嘛 ?這才是我質疑 要雙重 CHECK 的重點 ......

有無設立 GIE & T0IE PROGRAMER 自己心裡有數 .....

Attach file:



jpg  (0.00 KB)


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


Re: PICC 無法 BUILD...
#9
版主
版主


查看用戶資訊
參照:

Beee 寫道:
T0IF 不是 只有在 ( TMROIE & GIE ) ENABLE & TMR0 OVER FLOW 時才會被設定嘛 ?

請問還有什麼狀況下 , 它會被設定 ? 謝謝 ..........


Timer0 在 PIC16F 系列是屬於自行運作的計數器,所以只要發生 0xFF 變成 0x00 的溢位就會將 T0IF 設定成為1,程式可以用 Polling 的方式不必使用中斷的方式就可以得知Timer0 的溢位。

發表於: 2009/6/8 11:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#8
資深會員
資深會員


查看用戶資訊
T0IF 不是 只有在 ( TMROIE & GIE ) ENABLE & TMR0 OVER FLOW 時才會被設定嘛 ?

請問還有什麼狀況下 , 它會被設定 ? 謝謝 ..........

發表於: 2009/6/5 22:17
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#7
版主
版主


查看用戶資訊
雙重保證,因為在作多中斷判斷時,有可能會因只判斷 IF 會導致誤判,因為 IF 不一定要發生中斷才會被設成 1 ,所以同時檢查 IE & IF 是比較正確的方法。

發表於: 2009/6/5 12:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#6
資深會員
資深會員


查看用戶資訊
SORRY 再多請教一個問題 , 在組語中的 ISR 通常只 CHECK T0IF , 而 C 裏面 為何要 T0IF , TMR0IE 一起 CHECK ?

發表於: 2009/6/5 5:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PICC 無法 BUILD...
#5
資深會員
資深會員


查看用戶資訊
參照:

Ryang 寫道:
if ( SW3 & SW2 ) 是做位元的運算,而 && 是做位元的邏輯判斷。程式在練習二是用來做案件彈跳的處理,理論上是要用 & 的位元運算的以判斷這兩個按鍵 SW2, SW3 是否同時放開了。
我用Hi-Tech PICC Pro V9.65 正式版編譯沒有問題。



不好意思 ! 在 PICC manual 裏 搜尋了一下 :

3.10.1.2 Highend Interrupt Functions
As there is more than one vector location usable with highend processors, an indicator is required
with the function definition to specify the interrupt vector to which the function should associated.
This takes the form of a @ symbol followed by the vector address at the end of the function prototype.
An example of an interrupt function for a high-end processor is shown here.
int tick_count;
void interrupt tc_int(void) @ 0x10
{
if (TMR0IE && T0IF) {
T0IF = 0;
++tick_count;
}
}


其中 TMR0IE , T0IF 兩者也是 bit 變數 , 它也是用 && 運算子 , 到底何者為對 ?

Attach file:



jpg  (0.00 KB)


發表於: 2009/6/5 4:49
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... ]

教育訓練中心

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