#include <avr/io.h>
void delay_ms(unsigned int time);
int main(void)
{
DDRD =0Xff;
PORTD =0Xff;
delay_ms(200);
while(1)
{
PORTD =0X00;
delay_ms(500);
PORTD =0Xff;
delay_ms(500);
//TODO:: Please write your application code
}
}
void delay_ms(unsigned int time)
{
unsigned int i,j;
for (i=0;i<time;i++)
{
for (j=0;j<100;j++);
}
}
程序如上,但是,结果用示波器观察发现,输出一直是1US的低电平然后3US的高电平,无论怎么去调整delay的值,也是这样的输出。
还有,如果是单纯的仅输出高电平或低电平,不去高低电平切换,就不会异常,不知道这叫什么状况啊,大侠何在????? |