C#操作并口控制步进电机

q674573523 2016-03-28 03:38:19
我现在用C#操作并口来控制步进电机,发出的模拟信号通过延时函数的方式发送至并口,再由并口发送至步进电机驱动器。经测试,时间设置为10ms以上包括10ms是正常的,但是设置为10ms以下时,电机的转速与设置时间为10ms是一样的,也就是说软件中的延时函数设置为10ms和1ms电机的转速相同。这是什么原因造成的呢?
...全文
2214 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
PP_CHEN 2017-05-04
  • 打赏
  • 举报
回复
你好楼主,小弟最近在学习这个。可否赐教怎么用C#开发上位机控制电机,谢谢!
pathletboy 2016-03-30
  • 打赏
  • 举报
回复
引用 2 楼 q674573523 的回复:
你好,在驱动中实现我没有接触过,这一方面我需要在了解一下。 请问:上述那种情况C#可以用中断函数来解决吗?
首先你要理解用户态和内核态,你C#是在用户态中,用户态中是没有硬件中断的,所谓的“软中断”,并不能保证高精度定时执行,所以你这种需求,2种方案,要么写驱动来搞,要么再写个下位机进行步进电机控制。
q674573523 2016-03-30
  • 打赏
  • 举报
回复
明白了,谢谢。
q674573523 2016-03-28
  • 打赏
  • 举报
回复
你好,在驱动中实现我没有接触过,这一方面我需要在了解一下。 请问:上述那种情况C#可以用中断函数来解决吗?
pathletboy 2016-03-28
  • 打赏
  • 举报
回复
windows默认的线程调度时间就是10ms-20ms不等,也就是如果你是用户态,那必然会受线程调度,无法实现精确的时间控制,你这种应该在驱动里实现。

2,425

社区成员

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

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