恭喜,你发布的帖子
发布于 2017-03-30 15:17:16
5楼
计时单位肯定会与扫描不对齐。这是必然的。所以200才有那么三种性格的计时器。
至于由用户程序做的时基,应该由用户自己考虑对齐问题(同步问题)。数字计时,相差1个计时单位不是错误也不是误差,而是数字电路的同步与不同步必然的结果。相差两个计时单位就是错。要精确控制这个结果。只有用更短的时基来计算时间。
没有什么方法。
在大于设定值的时候,不动作,而等到再来一个时基的时候才动作。这就是同步输出。
在大于设定值的时候,随着执行的次序进行动作,这就是异步输出。
根据扫描的机制,在扫描开始用时基触发一个mov指令刷新所有需要同步的计时位。可以使得所有计时位在一个周期里面不变。
执行这个mov指令之前缓冲着所有计时位的状态。执行这个mov之后,把缓冲输出到另外一个地方使用。
定时中断相当于另一条线程。与主扫描两条线程各走各的周期。看看我们的快递员,每天进出你家小区门口n次,而你(上班)只能每天进出小区1次。所以快递员就只能把包裹放在门卫,等你下班回家的时候才取包裹签收(同步一次)下次快递员来到就取签单。
请填写推广理由:
分享
只看
楼主