打印

我的定时器0中断为什么只能执行一次?

[复制链接]
2226|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rezire199847|  楼主 | 2011-4-16 12:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int n=0;
//定时器0的中断工作内容
void Timer0() interrupt 1 using 1
{
    TR0=0;
    TL0 = 0xf0;
    TH0 = 0xff;
    AD_calculate();
    Kalman_Filter(acceler,gyro);
    PWM_calculate();
    PWM_motors(R_motor,L_motor);
    n++;
    TR0 = 1;
}

----------------------------------------------------
最后发现n一直是1啊

相关帖子

沙发
ye460398672| | 2011-4-16 15:49 | 只看该作者
那要到调用的函数里面去找问题了哦!

使用特权

评论回复
板凳
ye460398672| | 2011-4-16 15:50 | 只看该作者
那要到调用的函数里面去找问题了哦!

使用特权

评论回复
地板
kakasha| | 2011-4-16 16:37 | 只看该作者
你的TMOD是方式2(8位自动重装)吗?,是的话,那肯定只能执行一次啊,第一次的时候,TL0=0XF0,等TL0=0xff溢出时候,会自动将TH0=0XFF装入TL0,这时候TL0=0XFF,定时0秒?只有第一次定时了(0XFF-0XF0)us

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

60

帖子

1

粉丝