STAITC控件信息定时刷新问题

asterix   2010-1-30 14:28 楼主
程序结构:
界面主线程,两个工作线程。两个工作线程都是有板卡连电机的。

运行条件:
当电机开启后,主画面有一个区域,是STAITC的,显示当前的一些运行信息。
采用定时刷新的方式。

问题:
假设3秒刷一次,似乎在每次刷新的时候都会感觉电机的运转会停顿一下。
(电机的运转是要靠工作线程一直发指令的)

从现象上看感觉是TIMER到的时候抢占了CPU,但是我觉得
现在这种硬件水平应该不会有这种现象才对。

请大家帮我分析分析。

谢谢

回复评论 (5)

会不会被抢占CPU,  得看你   “电机的运转是要靠工作线程一直发指令的”
你点击运转的指令的发送 这个线程的需要一直发送吗? 不能锁存吗?
如果需要一直发送,那么好像会一直需要占用CPU的,
如果发送其他优先级高的线程 肯定会抢占CPU,所以停顿一下

建议楼主先显示这个线程关闭,测试下你的电机是否还会停顿一下??

另外在硬件设计时,最好采用锁存的PWM,这样的你的电机控制就不会一直需要发送指令,这占用CPU了、
点赞  2010-1-30 15:01
“电机的运转是要靠工作线程一直发指令的”
这个意思是,电机运行的参数都在界面保存的。为了简化驱动接口。
电机(4个)的运转参数的计算等都是在线程中完成的。所发出的指令类似于,
电机1前进100脉冲->电机2前进10脉冲。 这样的。

点赞  2010-1-30 15:26
学习了
点赞  2010-1-30 15:31
路过
点赞  2010-1-30 16:34
引用: 引用 1 楼 kyzf 的回复:
会不会被抢占CPU,? 得看你?  “电机的运转是要靠工作线程一直发指令的”
你点击运转的指令的发送 这个线程的需要一直发送吗? 不能锁存吗?
如果需要一直发送,那么好像会一直需要占用CPU的,
如果发送其他优先级高的线程 肯定会抢占CPU,所以停顿一下

建议楼主先显示这个线程关闭,测试下你的电机是否还会停顿一下??

另外在硬件设计时,最好采用锁存的PWM,这样的你的电机控制就不会一直需要发送指令,这占用CPU了、
嘿嘿,学习学习…
点赞  2010-1-31 06:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复