我现在在做一款抽药器,实现自动抽推药功能。
有两块电路板,一块(甲板)接步进电机,实现抽推药。另一块(乙板)连触摸屏,两者串口通讯。
抽药时,电机正转,并把位置发给乙板。乙板显示一个游标,指示电机位置,抽时从左往右移动。推时电机反转,游标从右往左移动。
显示游标时,我是这样做的:定义两个变量,比如OLD,NEW。
在抽前,OLD=NEW=0,游标在最左端。按下抽按钮,电机正转,乙板收到位置信息,先把原来的游标清除掉,再在新位置上显示游标。之后,把NEW赋给OLD,然后周而复始,直到电机到达限位或按下停止按钮。大意就是这样。
现在问题是:在游标移到过程中,比如抽,游标从左往右移动。会偶尔出现这种情况,
在游标的右方出现一小块游标(正常的游标是一个三角形),然后,那一小块又消失,游标继续往右移动。腿的时候则相反,在游标的左端出现一小块。
我搞了几天了,想了很多招,查了数遍程序,各种可能都想到了,比如通讯问题,指针问题等等。我实在是想不出来问题的原因。最可恨的是这种现象只是偶尔出现。
各位大侠帮我支支招吧,谢谢! |