我在TI CC2541 BLE芯片内编程和8051。如何在定时器中断回调和事件循环上执行的事件之间处理优先级?
我使用timer1中断读取i2c的原因是因为我想每隔10ms采样一次,而事件循环并不能保证我的时间周期(在传感器标签示例代码i2c中是从事件循环)。
答案 0 :(得分:0)
答案是:这取决于您如何设置系统。
场景1)
“事件循环”是“正常”循环,它始终检查要执行的操作(轮询)。
定时器中断在启动期间初始化,从不禁用。
- >定时器中断的优先级高于“事件循环”
场景2)
“事件循环”是“正常”循环,它始终检查要执行的操作(轮询)。
定时器中断在启动期间初始化。事件循环在某些重要操作期间禁用定时器中断。
- >定时器中断的优先级高于“事件循环”中的普通代码。它的优先级低于事件循环的“重要操作”。