會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





如果PR2的值設成0會發生什麼事?
資深會員
註冊日期:
2013/10/22 15:08
來自 香港
所屬群組:
註冊會員
文章: 205
等級: 13; EXP: 35
HP : 0 / 308
MP : 68 / 3681
離線
這看起來好像是個蠢問題,但該問還是要問

以TMR2作為一般用途使用時,即是在ISR設查詢TMR2IF的狀態然後進行中斷時要做的動作,而TMR2的計數器是看PR2所訂立的值而決定何時將TMR2IF=1的對吧

我使用一些網絡上的計算機,可以計算PR2在某個值時TMR2的中斷頻率

可是這些計算機都限制PR2的範圍在1至255,卻沒提到當PR2=0的時候會發生什麼事

因為當TMR2的值等於PR2的時候,TMR2IF=1。那麼PR2=0的時候,TMR2就會一直都等於PR2,那麼TMR2IF就理應上會永遠都是1,就算ISR處理式把TMR2IF清除,它也會在非常短的時間內再度被設成1

在這個情況下,main的部分會完全被鎖死跑不動嗎?

10月26日 19:15:56
轉換PDF檔 列印


Re: 如果PR2的值設成0會發生什麼事?
資深會員
註冊日期:
2007/06/05 21:45
所屬群組:
註冊會員
文章: 947
等級: 27; EXP: 36
HP : 0 / 659
MP : 315 / 20149
離線
>>這看起來好像是個蠢問題,但該問還是要問

>>可是這些計算機都限制PR2的範圍在1至255,卻沒提到當PR2=0的時候會發生什麼事

1. 既然是蠢問題
就什麼都可能發生....

2. 有可能鎖死(main很慢),或者除256,或者什麼也不除...
2a. 鎖死
你所謂的鎖死....
其實就是(很快)一直中斷,main程式變成很慢.....

2b.
TMR2有變化才跟比較PR2
所以TMR2 由0變1,比較(PR2=0)不同
TMR2 由2變3,比較(PR2=0)不同
...
TMR2 由255變256(變0),比較(PR2=0)相同
變除以256

2c. 什麼也不發生....
也不中斷...

想知道是那一個 實驗一下就知道了....

我印像中....看過的公式都是 除以 PRx+1,
也就是你設
PR2=0, 是除以1
PR2=1, 是除以2
...
PR2=255, 除以256

10月27日 10:49:39
_________________
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
轉換PDF檔 列印


Re: 如果PR2的值設成0會發生什麼事?
資深會員
註冊日期:
2004/07/23 16:25
所屬群組:
註冊會員
文章: 1176
等級: 29; EXP: 94
HP : 0 / 723
MP : 392 / 28181
離線
pr2=1

timer2 會很快就發生中斷

如果你又啟動中斷,那就會發生離不開中斷副程式的情況。

pr2=0 ,有可能整個卡死,也可以從1 2 --255 0 才觸發

(也就是數 256+1)

自己試一下就知道了(一般我們不會這樣應用,自然不會去做這樣的測試)

10月27日 11:04:34
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project