程序结构:
界面主线程,两个工作线程。两个工作线程都是有板卡连电机的。
运行条件:
当电机开启后,主画面有一个区域,是STAITC的,显示当前的一些运行信息。
采用定时刷新的方式。
问题:
假设3秒刷一次,似乎在每次刷新的时候都会感觉电机的运转会停顿一下。
(电机的运转是要靠工作线程一直发指令的)
从现象上看感觉是TIMER到的时候抢占了CPU,但是我觉得
现在这种硬件水平应该不会有这种现象才对。
请大家帮我分析分析。
谢谢
会不会被抢占CPU, 得看你 “电机的运转是要靠工作线程一直发指令的”
你点击运转的指令的发送 这个线程的需要一直发送吗? 不能锁存吗?
如果需要一直发送,那么好像会一直需要占用CPU的,
如果发送其他优先级高的线程 肯定会抢占CPU,所以停顿一下
建议楼主先显示这个线程关闭,测试下你的电机是否还会停顿一下??
另外在硬件设计时,最好采用锁存的PWM,这样的你的电机控制就不会一直需要发送指令,这占用CPU了、
“电机的运转是要靠工作线程一直发指令的”
这个意思是,电机运行的参数都在界面保存的。为了简化驱动接口。
电机(4个)的运转参数的计算等都是在线程中完成的。所发出的指令类似于,
电机1前进100脉冲->电机2前进10脉冲。 这样的。