STAITC控件信息定时刷新问题

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

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

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

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

请大家帮我分析分析。

谢谢
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolfmvp 2010-01-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kyzf 的回复:]
会不会被抢占CPU,  得看你  “电机的运转是要靠工作线程一直发指令的”
你点击运转的指令的发送 这个线程的需要一直发送吗? 不能锁存吗?
如果需要一直发送,那么好像会一直需要占用CPU的,
如果发送其他优先级高的线程 肯定会抢占CPU,所以停顿一下

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

另外在硬件设计时,最好采用锁存的PWM,这样的你的电机控制就不会一直需要发送指令,这占用CPU了、
[/Quote]嘿嘿,学习学习…
yanping0912 2010-01-30
  • 打赏
  • 举报
回复
路过
lan120576664 2010-01-30
  • 打赏
  • 举报
回复
学习了
jason176374 2010-01-30
  • 打赏
  • 举报
回复
“电机的运转是要靠工作线程一直发指令的”
这个意思是,电机运行的参数都在界面保存的。为了简化驱动接口。
电机(4个)的运转参数的计算等都是在线程中完成的。所发出的指令类似于,
电机1前进100脉冲->电机2前进10脉冲。 这样的。

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

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

另外在硬件设计时,最好采用锁存的PWM,这样的你的电机控制就不会一直需要发送指令,这占用CPU了、

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧