发布于 2011-04-03 21:01:34
16楼
1,溢出怎么办?
我这不过是个计数的例子,他可以自己修改MD0的值。
HC溢出很正常,这是数制决定的,所有的整数都可能溢出,这样开发者自己把握编程。
2,用不用中断,用中断可以有更好的适应性,我不知道应用环境,这样的话高低速都可以使用,如果不用中断,如果程序的扫描周期长,会出现数据错误(更新不及时),达不到检测的目的。
假设扫描周期50毫秒,如果不用中断,周期扫描误差典型值2个周期,也就是100毫秒,如果这段时间转动角度大于180度,也就是5转/秒,可能会出现数据不正确。
3,过零。之前的IO映像区不一定是254或255,这与转速和几率有关,不过可以肯定的是,上周期的映像区是254或255的可能性极小极小。编码器的数据是用当前IO转换的数据叠加MD0,无论上周期的数据是什么,不会影响本周期的数据。