Re: pic16f722 的問題
|
||||
---|---|---|---|---|
資深會員
|
sleep 之後掛掉的很多
不過大都是軟體問題~~ 用 power supply ,一是避免電壓造成問題 二是接上電表,觀察電流也能協助判斷是否卡死在迴圈之中
發表於: 2009/3/4 5:56
|
|||
|
Re: pic16f722 的問題
|
||||
---|---|---|---|---|
資深會員
|
一、3volt icd2 應該可以用,只是失敗率超高,我以前用3volt + icd2 用到抓狂,最後是邊燒邊測。
當然也有可能是你 rb6 rb7 configuation 設定錯誤,讓 icd2 無法使用。 或 rb6 rb7 mclr 的電路有問題。 二、醒不來,幾天後就會掛, a,接 power supply ,確定 是否電池問題。 b,固定會掛,一般都是軟體 bug ,當局者迷,要是這麼容易找就不用 debug 了。 c,空兩隻pin ,在 sleep 前,wake up 後 ,各別 xor io 的狀態,正常情況下,你能看到 17ms high 17ms low 在主程式迴圈中加入 pin 狀態反向的程式 (xor) 理論上醒過來時會有pin change 的狀態輸出。 這主要是要證明,程式有沒睡著,有沒有醒過來。 真的死了,也能看出是死在 sleep 內還是 sleep 外或 那一段程序(如果你有夠多的 io 及 channel 數夠多的 示波器或羅輯分析儀之類的工具) 在程式有 bug 的情況下,你可能進入無迴回圈,又沒有 ice2000 (icd2 是不能 sleep ) 是很難找到 問題點。 就你的描述,問題很容易再現,有 ice2000 一看就能證明。 利用 io 輸出,你就能知道mcu 的狀態。 d,reset 電壓不穩,造成 double reset ,mcu 死當。 brown out 開到 1.9v 試試。2.5v 比較容易發生。電壓不穩,就有可能 double reset mcu 而死當。 e,也有可能是 一直 reset 程序有問題,形成迴圈 f,一直中斷造成 迴圈或 stack overflow 能夠再現一直再現,直覺的是軟體的問題。
發表於: 2009/3/3 4:44
|
|||
|
Re: pic16f722 的問題
|
||||
---|---|---|---|---|
資深會員
|
有沒可能是BOR的問題
可能PIC沒有開啟BOR reset 且BORV又是在預設的2.5V上 當PIC醒來的瞬間,電流較大,使的電池電壓掉到2.5V以下 然後因為沒開BOR,所以它就當了 胡亂猜,純參考
發表於: 2009/3/2 19:49
|
|||
|
Re: pic16f722 的問題
|
||||
---|---|---|---|---|
新會員
|
數據與特性表我看了,還是不懂!因為16f722規範是1.8v~6.5v.
基本上icd2不能模擬就算了, 但比較奇怪的是sleep後不醒?我是用內部的16Mhz,醒的時候是處理電容鍵盤(7個key),睡前有關閉所有的模組才去睡, 有用一個i/o來監控sleep狀況,沒有用預除器,喔電力是兩個1.5v電池, 打了10個樣,大部份放了幾天後會睡死,1個約20~30分就會發生,重新斷電再送電就又正常,程式用組合語言寫的, 真不知如何量產? 好久沒遇過這種問題,早期都是國內的i.c.廠才有這振盪器不起振的情況.
發表於: 2009/3/2 19:18
|
|||
|
Re: pic16f722 的問題
|
||||
---|---|---|---|---|
版主
|
PIC16F722 是 5V 元件,如果要使用在 3V 就必須使用 PIC16LF722。因為這兩種是隸屬不同的 Dice 的,跟其他的 F/LF 的 PIC 有些不同。查一下 Data Sheet 的 AC/DC 特性表就知道了。
發表於: 2009/3/2 15:21
|
|||
|
pic16f722 的問題
|
||||
---|---|---|---|---|
新會員
|
請問
1. pic16f722 工作於3V時無法用ICD2模擬? 但用5V就可以! 2.於3V時進入SLEEP後偶而會醒不過來? 我是將所有中斷都關閉後用本身的17mS來用,大部份會醒來看I/O,但放了1~2小時後再也醒不起來,有時10分鐘就會,除非POWER OFF再ON ,才再工作,很確定是於SLEEP下!
發表於: 2009/2/28 13:39
|
|||
|