免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3338 | 回复: 1

[驱动] 关于linux下控制步进电机 [复制链接]

论坛徽章:
0
发表于 2011-06-14 22:37 |显示全部楼层
驱动电路是一块i2c转io的芯片,步进电机控制由程序控制从io口输出预先保存的步序值。
现在的问题出在延时上,每走一步要延时1ms,从而保证不会失步,在用户空间下,精确延时1ms有些困难,nanosleep也不是太精确,造成的现象就是步进电机不平滑。

我想是不是要放在驱动里完成,驱动里的udelay不知道精确否,另外,假设udelay是精确的,但最终还是用户空间的程序来控制,会不会用户空间进程cpu被调度后,造成实际的延时不精确?
如果这样,是否要靠内核的定时器来实现?定时器是没有进程上下文的,会一直运行,不会被调度。

望大家帮我看看,谢谢!

论坛徽章:
0
发表于 2011-06-15 08:42 |显示全部楼层
内核的精确程度是很高的,我觉得你 这个可能有短时的忙等待会比较好吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP