恭喜,你发布的帖子
发布于 2020-03-11 15:41:02
30楼
@yzs ,不好意思,请教一下第五个 语句先后执行顺序 这个问题,还是没有弄清楚?能不能麻烦给说一说,谢谢
此问题点应该是我当时在网上摘抄的一个案例,实际上此问题点应该主要体现在定时器的非同步更新的问题。
由于T和CPU的周期并不同步,当接通延时定时器线圈达到1S后,T1本该置1,由于T和CPU的周期并不同步,程序扫描到下一行是T1状态还是没有变,因此C2没有上升沿信号,C2不会计数。如果将C2的程序段放在定时器前面,经过一个循环周期后,由于T的周期小于CPU的扫描周期,因此此时T1的状态就会改变,这个时候C2就会计数了。
程序的扫描从上到下,从左到右正常是比较容易理解以及判断的,但是如果存在类似定时器这种异步更新的情况对于语句的执行顺序就很容易出错了。因此平时必须通过模拟运行程序去检测程序是否存在错误。
从另一个角度说,正是T的周期更新不同步,同时也不太好用,因此我在编程的时候基本都是使用自己编的定时器而不会去使用系统自带的T定时器。
请填写推广理由:
分享
只看
楼主