求AVR STUDIO高手解答..程序.编译都无错,可是烧到M8里面运行却不正常..

2025-01-05 07:57:16
推荐回答(5个)
回答1:

500X100 的延迟是很小的 你用大一点的试试
你试试 delay(1000);
还有你的延时函数为什么那么写呢?用两个for循环不是更好?
uint i,j;
for(i=0;i<=a;i++)
for(j=0;j<=1000;j++);
对了,系统时钟暂时用内部1M就行

回答2:

进入project菜单最下面的设置选项,打开设置对话框将优化选项设为0,optimiratio是优化选项。
重新编译即可

回答3:

时钟晶振设置频率有关,M8默认使用是内部1MHz RC振荡器。

#include

# define F_CPU 1000000UL
#include

#define uint unsigned int
#define uchar unsigned char

void delay(uint a)
{
volatile uint b;
while(a--) {
for(b=100; b>0; b--);
}
}
volatile int main(void)
{
DDRB=0XFF;
PORTB=0XAA;
while(1) {
PORTB=~PORTB;
_delay_ms(500);
}
}

回答4:

用AVRStudio不需要自己弄Makefile吧
你说的时不时跳到0x55是使用示波器看的吗?

回答5:

这个问题得去专业社区,比如XDA论坛等等,国内的HIAPK,机锋也不错