试验程序我就不上了。
程序开始,ctrl指令。C_pos管脚一个vd0
for-next指令拖延扫描。
man指令发10k频率脉冲。C_pos管脚vd4。
最后就是vd0减vd4 。程序结束。
结果这个减法的差值成为了焦点。
当修改for的次数在较小值范围内时,差值只显示0或者500。没有任何中间数。500个脉冲其实就是50毫秒。这个for拖延使扫描在1到50毫秒之间发生一种现象。
1时,长期显示0。
50时,长期显示500(或者501。这个不讨论)
1到50之间的时候显示0和500按照线性占空比显示。
也就是比方10的话很多时间显示0,少数时间显示500。
何解?
是不是意味着,库程序对所有库指令的C_pos值都存在一个50毫秒的更新间隔?
我以前认为每当执行某个库指令的话就立即更新C_pos值。看来现在发现我错了。
尽管我把脉冲速度修改成其他值,最终焦点的差值也是50毫秒内的脉冲数。
要不各位有兴趣的都用你的方法试试。
这看点卡得我有点肾疼。
这说明,对于扫描周期少于50毫秒的你,把所有的cpos端口都填写同一个地址都没所谓。