500X100 的延迟是很小的 你用大一点的试试
你试试 delay(1000);
还有你的延时函数为什么那么写呢?用两个for循环不是更好?
uint i,j;
for(i=0;i<=a;i++)
for(j=0;j<=1000;j++);
对了,系统时钟暂时用内部1M就行
进入project菜单最下面的设置选项,打开设置对话框将优化选项设为0,optimiratio是优化选项。
重新编译即可
时钟晶振设置频率有关,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);
}
}
用AVRStudio不需要自己弄Makefile吧
你说的时不时跳到0x55是使用示波器看的吗?
这个问题得去专业社区,比如XDA论坛等等,国内的HIAPK,机锋也不错