如何用一片AVR校准另外一边AVR的内部RC
求高手指导哈 不明白。 可以用带晶振的MCU输出1毫秒的脉冲,用内部RC振荡器的MCU检测这个标准脉冲,按照设置的RC时钟来计算脉冲宽度,与1毫秒比较,如果比1毫秒长就说明RC振荡器的频率快了,反之则说明RC振荡器的频率慢了,要调整振荡器标定寄存器OSCCAL的值,让RC振荡器的频率减慢(或加快),直到检测到的脉冲宽度按设置的RC时钟来计算与1毫秒误差最小。 skyxjh 发表于 2013-4-10 22:40 static/image/common/back.gif可以用带晶振的MCU输出1毫秒的脉冲,用内部RC振荡器的MCU检测这个标准脉冲,按照设置的RC时钟来计算脉冲宽 ...
一看就知道是高手 可是用内部RC振荡器的片子 程序未知且不能更改 可否用外部晶振的片子读取其标准脉冲并于之比较
如果可以请麻烦 再给我解释一下 小弟在这里先谢谢了 NT09 发表于 2013-4-11 10:20 static/image/common/back.gif
一看就知道是高手 可是用内部RC振荡器的片子 程序未知且不能更改 可否用外部晶振的片子读取其标准脉冲并 ...
用内部RC的MCU有标准脉冲输出吗?芯片锁死了吗?如果芯片没锁可以考虑用下载器修改标定寄存器值。 时钟校准不是上电做一次就行的,要间隔一段时间校准一次,防止运行环境变化导致时钟不准。 skyxjh 发表于 2013-4-11 12:51 static/image/common/back.gif
时钟校准不是上电做一次就行的,要间隔一段时间校准一次,防止运行环境变化导致时钟不准。 ...
也就是说 用另外一片AVR往其写OSCCAL寄存器写入数据不现实? 不过试想我们所用的双龙AVR ISP烧写器 不用的也是一块单片机吗? 如果一个系统里面有多个AVR,一个主AVR用外部晶振,其它AVR用内部RC振荡器,用主AVR实时校准其它AVR的时钟是完全可行的。 skyxjh 发表于 2013-4-17 21:42 static/image/common/back.gif
如果一个系统里面有多个AVR,一个主AVR用外部晶振,其它AVR用内部RC振荡器,用主AVR实时校准其它AVR的时钟 ...
求文档求方法 ! 方法3楼已经说得很清楚了,文档见AVR芯片文档。
页:
[1]