用GCC写的mega128的测试程序,加了_delay_ms()函数就不好使了,不知道为什么。 程序贴下面了

#include<avr/io.h>#include<util/delay.h>intmain(void){DDRA=0XFF;while(1){PORTA=0X00;_... #include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRA = 0XFF;
while(1)
{
PORTA = 0X00;
_delay_ms(1000);
PORTA = 0XFF;
_delay_ms(1000);
}
}

就是希望看led闪烁,结果程序一直停留在_delay_ms()之前,不知道怎么回事。
板子上的芯片是mega128A,难道和mega128不一样吗?
展开
 我来答
蕊互忠Q
2011-05-23
知道答主
回答量:8
采纳率:0%
帮助的人:5.9万
展开全部

很简单的是熔丝位设置问题!!mega128A是兼容mega128的。在你把程序加载到单片机之前,在软件里设置一下熔丝位,一般软件默认是片内RC振荡器,所以选择外部晶振我用PROGISP(Ver1.6.8)直接用ISP下载所以要这样设置(参考图片)!!!

AVR studio里也应该有设置的

注意:熔丝位不要乱设置会引起锁死!!到那时就惨了!!

追问
多谢多谢。不过我后来弄出来了,不是熔丝位的问题,之前用的是studio5.0,还是官网上下的,后来换了个低版本的studio4.18,同样的程序就好使了。。。
不过崩溃的是现在新写的程序又出了问题,不知道是不是又是编译软件问题。
你用什么编译器的?可不可以交流下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式