AVR 定时器抢TWI中断
我用AVR单片机做TWI从机,可是这个从机中也要用到定时器0,结果开了定时器0的中断之后,TWI的中断就不工作了......这个怎么处理==?...
我用AVR单片机做TWI从机,可是这个从机中也要用到定时器0,结果开了定时器0的中断之后,TWI的中断就不工作了......这个怎么处理= =?
展开
1个回答
展开全部
这个需要你协调一下时序,我不了解你的具体应用,一般可以这样控制,在打开TWI通信以后,禁止TIMER0中断(恢复的时候,注意初始化),在进入TIMER0中断服务程序后禁止TWI通信,处理结束后恢复。这样的麻烦就是从机不知道主机什么时候有数据发出,保证通信稳定的前提下,需要主机做好,通信失败后的重发机制和纠错功能,保证程序不会崩溃。
我感觉TWI有自己的预分频器,所以如果协调好的话,两个中断都开应该没有问题。除非你的中断服务程序太长,影响到TWI总线的SCL时钟产生了。仔细想想应该可以优化的。
我感觉TWI有自己的预分频器,所以如果协调好的话,两个中断都开应该没有问题。除非你的中断服务程序太长,影响到TWI总线的SCL时钟产生了。仔细想想应该可以优化的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询