恭喜,你发布的帖子
发布于 2022-07-01 13:49:19
13楼
本胖对循环的理解:OB1(主程序)当然是循环;定时中断也是循环;用定时器实现的循环同样是循环。
说个单片机的例子:
本胖当年(9x年)曾经搞过单片机,当时也只能用汇编,但大的思路却跟C的while差不多,就是主程序实际上就是一个大循环,PLC的OB1应该也是同样的思路。C
但同样还有定时中断在运行,比如:看门狗(现在流行的心跳,其实就是看门狗)。这种定时中断是硬件级别的,同样是循环。
那么,这两种循环有啥本质区别吗?软件上看就是优先级不同;硬件上看,其实还是优先级不同,高优先级的定时器(硬件,跟PLC的定时中断类似)中断,即使在CPU已经死机的情况下,仍然会产生中断。
SO,本胖曾经做过一个比较极端的程序架构:干脆不要主程序了,全部程序都放入100ms的定时中断里面。结果就是连抗干扰很垃圾的AT89C52都很抗干扰了!
上面说的不管具体是啥,本质上都是循环,只是实现的方法不同而已。
请填写推广理由:
分享
只看
楼主