这个定时器代码错在哪里,灯一直不亮,
#include"2440addr.h"void timer0_init(void);
void led_init(void);
int Main()
{
unsigned int temp=0;
timer0_init();
led_init();
rGPBDAT&=~(1<<5);
while(1)
{
if(rSRCPND&(1<<10))
{
temp=~temp;
rSRCPND|=(1<<10);
}
if(temp==1)
{
rGPBDAT&=~(1<<5);
}
else
{
rGPBDAT|=(1<<5);
}
}
return 0;
}
void led_init()
{
rGPBCON&=~(3<<10);
rGPBCON|=(1<<10);
rGPBUP&=~(1<<5);
}
void timer0_init()
{
rTCFG0&=~(0xff);
rTCFG0|=99;
rTCFG1&=~(0xf);
rTCFG1|=0x02;
rTCNTB0=62500;
rTCON|=(1<<1);
rTCON|=0x09;
}
1.有万用表之类的工具就先检测硬件
2.能单步调试或查看寄存器之类的话就去验证自己的程序是否执行正确
3.不要自己没做任何事就来问一个LED的问题
先用GPIO驱动LED,实现之后再用定时器
页:
[1]