TIM和RF中断“竞态”导致node_ process接收到2个信号

解决方法:当TIM和RF中断“互斥”时,node_process只能接收到1个信号,它就能阻塞在#2语句上,时序正确。

TIM和RF中断“互斥”使node_ process只接收到1个信号

经验总结:

1. 思维路线错误:进程与中断的时序出错,本人总是怀疑“定时器中断异常爆发”导致#2阻塞语句失败,然后一路         错下去:做定时器中断实验,查数据手册,测试库函数,到网上搜索文章,问询STM8L开发的人员...... 没有隔离错误源,应该一开始就编写测试用例,查明是不是“定时器中断异常爆发”.

2. 没有彻底测试TempTimer驱动模块,人们对于怀疑的东西,思维上容易更怀疑它,尽管它可能是对的。开发时,还是要模块化测试,尤其是底层驱动。

3. 像上述比较复杂的时序和进程开发,一定要画出时序图,写出逻辑流程图。“进程竞态”的错误,容易发生,再加上它偶尔才爆发,难以调试。对付它的良药是:时序图+逻辑流程图。

附:逻辑流程图:

关于RF,无线就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查