[問題] atmega328p-pu的熔絲設定

作者: soheadsome (師大狗鼻哥)   2014-04-13 04:40:36
不好意思 我最近在試AVR的晶片
但我發現他的clock設定很複雜
需要去調熔絲
但我照我朋友的說去 http://www.engbedded.com/fusecalc
找我的chip型號和clock來源的熔絲設定
我也有照做
目前的熔絲設定(用avrdude看的) http://goo.gl/4DQj7d
我發現我跑很多程式的delay time都會怪怪的
像是我試著用_delay_ms(1000);
居然可以跑到5秒以上
我一直再懷疑是不是他用到內部的RC clock
還是真的是avr的C語言會產生那麼大的誤差(函式呼叫或迴圈的影響)
作者: WolfLord (呆呆小狼￾ ￾ N￾ ￾ )   2014-04-13 04:59:00
就算用RC也不會差到5倍,你的C環境設定是不是忘記改clock頻率了?
作者: alibuda174 (阿哩不達)   2014-04-13 08:34:00
使用_delay_ms前 「應該」要先設定F_CPU 我也沒經驗或許可看看這篇討論 http://goo.gl/ZtMwE0
作者: easypro   2014-04-13 12:01:00
用avr studio去調fuse很快就能調好 F_CPU部分要先設定好avr C code不會產生太大誤差 只有震盪器設錯才會如此
作者: soheadsome (師大狗鼻哥)   2014-04-13 14:30:00
我有#define 16000000UL在最前面 我的OSC是16MHZ的
作者: alibuda174 (阿哩不達)   2014-04-13 15:55:00
16000000UL? 可是你的fuse設定是8Mhz/8 = 1MHz吧?5E D9 FF? 我怎麼記得原本不是這些設定?可是你有勾CKDIV8,頻率會被除8吧
作者: soheadsome (師大狗鼻哥)   2014-04-13 22:22:00
原來如此 我晚點試試 謝謝大大<(_ _)>

Links booklink

Contact Us: admin [ a t ] ucptt.com