AVR熔丝位设置正确,为什么延时还是有问题?
本帖最后由 zyx_avr 于 2013-4-11 19:40 编辑问题描述:我使用的是外部8MHz晶振,下载代码后系统自动开始运行,代码中我延时1秒,灯就亮1秒。
但是当我关掉电源,重新启动,代码中的延时变成了8秒,整整多了8倍。
感觉内部默认1MHz晶振在起作用,这是怎么回事哦。
是我代码初始化有问题。 你的意思是 代码两次运行的时间不一致? wugang_1213 发表于 2013-4-11 21:20 static/image/common/back.gif
你的意思是 代码两次运行的时间不一致?
是的,开始我也很纳闷,居然有这种情况发生,最后仔细分析了一下,重新写了个测试代码找到原因。 zyx_avr 发表于 2013-4-12 18:31 static/image/common/back.gif
是的,开始我也很纳闷,居然有这种情况发生,最后仔细分析了一下,重新写了个测试代码找到原因。 ...
你也 不说说是什么原因,这里是交流的地方,大家相互促进。{:lol:} wugang_1213 发表于 2013-4-12 19:02 static/image/common/back.gif
你也 不说说是什么原因,这里是交流的地方,大家相互促进。
我把串口初始化放到后面去就没问题,我用的是Mega16A。
_CLI(); //disable all interrupts
Port_Init();
//USART0_Init();
MCUCR = 0x00;
GICR= 0x00;
TIMSK = 0x00;
_SEI(); //re-enable interrupts 怎么 影响能使延时变8倍呢? 不懂,
是 串口中断的影响? wugang_1213 发表于 2013-4-12 20:44 static/image/common/back.gif
怎么 影响能使延时变8倍呢? 不懂,
是 串口中断的影响?
我也不懂,哈哈,以前都没有遇到过这样的情况。 呵呵, 我也碰到过很多莫名其妙的问题。
mega16 算是我最常用的单片机了,初始化的顺序会影响,想不通。
解决就好{:lol:}
页:
[1]