:::

論壇索引


Board index » All Posts




Re: ICD2 無法設定中斷點
初級會員
初級會員


試試看,先用 mouse 的右鍵點選 Breakpoints --> Remove All Breklpoints 將所有的中斷點移除後再重新設定就可以了。

發表於: 2004/10/8 16:01
頂部


Re: timer0計數值不正確...
高級會員
高級會員


我用的是 18F1320,內建震盪器出廠精度 2%,4320 出廠精度是 1%,2.6.3 節有說明 OSCTUNE 這個 SFR暫存器的用法,5.9.2. 節有說明 OSCTUNE 位址在 0xF9B,F4320 的 PDF 手冊上都有,你的 PDF 可能太舊啦

發表於: 2004/10/8 11:54
頂部


Re: ICD2 無法設定中斷點
中級會員
中級會員


I am sorry ! 忘記 po 說我是利用 c 語言做debug
使用的是EVM-APP001 Demo board

發表於: 2004/10/8 11:13
頂部


Re: timer0計數值不正確...
資深會員
資深會員


我有用INTIO1模式,量過OSC2/RA6的輸出頻率Fosc/4
還滿準的
不過我在規格書的2.6章找不到調整震盪器誤差的方法
請問一下18F4320的震盪器誤差要如何修正呢?

發表於: 2004/10/8 10:50
頂部


Re: timer0計數值不正確...
高級會員
高級會員


內建震盪器的精度有多高? 1% 還是 2%?我忘了

內建震盪器誤差修正暫存器裡的數值是多少?你有檢查嗎?

可以把震盪器誤差修正到 0.25% ? ?,也可能搞爛到 10% ?? 忘了!

呵呵,小心喔

改用 CCP 中斷,就不用去算現場保護的延遲,不過,內建震盪器的精度問題還是要考慮的

Best wishes

發表於: 2004/10/8 10:18
頂部


Re: timer0計數值不正確...
資深會員
資深會員


嗯嗯
這麼說的話
他是有真的10KHz產生一個中斷
只是產生後處理的事件太多
導致時間延遲?
那只好多試幾個數值讓他真正10KHz好了
可是我記得我以前玩8051時也是這麼寫卻沒延遲這麼多^^"

timer0的計數不是隨時計數嗎?
產生中斷後馬上載入數值去計數
而我接下來處理其他事情時他也應該沒停止計數啊

@.@
我沒保護這麼多啦
我只有保護W跟STATUS
也只4個指令
即使有延遲也不該差到20個指令週期
怎麼誤差這麼多 x_x

發表於: 2004/10/8 10:13
頂部


Re: timer0計數值不正確...
高級會員
高級會員


參照:

jubel 寫道:
我用的是18f4320
系統內建4MHz震盪器
我設定timer0為8位元計數器
把數值156丟入TMR0L
使用中斷

如此一來
應該是每 4M/4/(256-100) = 10KHz 產生一次中斷
可是我用示波器去看
卻不是10KHz而是8.33KHz
我把中斷程式改到最短了
一進入中斷就
BTG LATD,3
清除中斷旗標
載入TMROL計數值
然後離開中斷
但還是一樣無法達到10KHz
請問這是什麼原因呢?


10 kHz 等於 100 個指令週期
8.33 kz 等於 120 個指令週期

這 20 個指令週期包含中斷的前處理,現場保護,context saving, 你有做 context saving 嗎?至少總有一個 GOTO 要兩個週期 ...還有,別忘了 BTG LATD,3 也要一個指令週期,載入TMROL也要一個週期 (還是兩個?),自己再仔細算算找找吧

20 個指令週期算是不錯的啦

看看下面這段 CCS 的中斷派遣程序,保護一大堆暫存器,大約要 40 個指令週期才能進入中斷服務程式,呵呵

0018: MOVWF 05 <-- 儲存 W
001A: MOVFF STATUS,06 <-- 儲存 STATUS
001E: MOVF FSR0L,W <-- 儲存 FSR
0020: MOVWF 07
0022: MOVF FSR0H,W
0024: MOVWF 08
0026: MOVF FSR1L,W
0028: MOVWF 09
002A: MOVF FSR1H,W
002C: MOVWF 0A
002E: MOVF FSR2L,W
0030: MOVWF 0B
0032: MOVF FSR2H,W
0034: MOVWF 0C
0036: MOVF PRODL,W
0038: MOVWF 14
003A: MOVF PRODH,W
003C: MOVWF 15
003E: MOVF BSR,W
0040: MOVWF 0D
0042: MOVLB 0
0044: MOVF @00,W
0046: MOVWF 0F
0048: MOVF @01,W
004A: MOVWF 10
004C: MOVF @02,W
004E: MOVWF 11
0050: MOVF @03,W
0052: MOVWF 12
0054: MOVF @04,W
0056: MOVWF 13
0058: BTFSS INTCON.5
005A: GOTO 0064
005E: BTFSC INTCON.2
0060: GOTO 1EDE <--- 到這裡才跳到中斷服務程式去

發表於: 2004/10/8 10:02
頂部


Re: 請問PIC18F4520開始量產了嗎?
版主
版主


已經量產一陣子了,找 Microchip's Steven Lin check 一下吧!
為什麼還沒拿到樣品,我也覺得很奇怪。

發表於: 2004/10/8 9:39
頂部


Re: timer0計數值不正確...
資深會員
資深會員


是啊
不過我沒用除錯模式
直接用icd2把程式燒錄進18f4320後拔掉icd2連接線

發表於: 2004/10/8 9:33
頂部


Re: 為何變數無法致能? (版主加註:有關PIC18F252)
高級會員
高級會員


謝謝版主的回答...
我想我需要再把PIC18FXX2 Data Sheet再好好看過...
因為我沒注意到[d],[a]沒寫時會自動用預設值...
得好好kk書囉!

發表於: 2004/10/7 20:32
頂部



« 1 ... 7167 7168 7169 (7170) 7171 7172 7173 ... 7291 »



:::

Microchip連結

http://elearning.microchip.com.tw/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源