回答
这个想法可能是不明智的,除非你真的知道你在做什么接口。任何由这些引脚驱动的信号(如果全部使用的话)都应该只提供信号电平驱动 - 您必须使用它来控制电机控制器或放大器实际电机驱动器,请勿直接连接电机。此外,串行端口的信号摆动-ve和+ ve而不是零/ + ve。
一种可能性是使用DTR信号,因为其通常可以被独立地控制(如在Set serial port pin high using python例如所描述的),但是通过软件可能无法获得准确或有效,并且如果控制马达所需的频率或精度软件会失效,您可能会使电机全速运转 - 因此需要小心。
一个更好的解决方案是获得专用的数字和/或PWM I/O卡或USB设备,甚至是专用的电机控制器接口。像研华这样的工业计算机供应商将拥有一些合适的产品,并且成本较低,可能有更多的机器人爱好供应商。我假设在Linux上有
谢谢,我会尝试使用DTR信号(我不需要高精度)。 – o1863176
@ o1863176:你这么说,但如果控制过程是饿死的CPU时间的电机可能会疯狂失控由于其他进程,使电机要么完全打开或完全关闭的时间不确定性的长度。硬件生成的PWM和/或RTOS通常是合适的。有一些方法可以缓解Linux中的时序抖动,这可能会产生可接受的结果。参见[this](http://www.ibm.com/developerworks/linux/library/l-real-time-linux/index.html)和[this](http://www.linuxfordevices。com/c/a/Linux-For-Devices-Articles/Seven-realtime-Linux-approaches-Part-C) – Clifford
我意识到我所需要的电机的pwm频率不能由非实时操作系统管理,那么我必须使用类似arduino或其他的手动控制器。谢谢。 – o1863176
怀疑你能做到这一点,你使用的UART接口...只是得到一个Arduino或someat和发送串行命令到Arduino(串行针),然后把正确的PWM信号进行了销...大概5 Arduino的的代码行和Python代码的另一个5 ...
说了这么多,你或许可以找到一些非常困难的,哈克的方式来输出通过串行PWM信号...但你需要考虑如果多数民众赞成真的很合适......
- 1. Linux的串行端口:输入
- 2. Linux中的串行端口
- 3. 当有新的串行端口时出现信号
- 4. 为什么没有PWM信号出来?
- 5. 写串行端口在Linux
- 6. 锁定Linux串行端口
- 7. 在STM32F407读PWM信号
- 8. Qt串行端口通信
- 9. C#串行端口通信
- 10. 未定义的端口号作为输出 - UDP/C/Linux
- 11. 与不常见的端口名称的Linux串行通信
- 12. 串行COM端口号@读
- 13. 在Linux内核中设置套接字输出端口号
- 14. 使用VB.Net的串行端口通信(端口不显示)
- 15. RasBee Pi上的XBee Linux串行端口
- 16. 串行端口与Linux中的jSSC
- 17. 在Linux中的串行端口路由
- 18. Linux串行端口通信超时 - VirtualBox直通
- 19. 如何将信号值分配给输出端口?
- 20. 如何检测串行COM1端口上的信号?
- 21. Arduino的C#串行端口通信
- 22. linux串行端口 - mulithread程序
- 23. OS X与Linux - 串行端口处理
- 24. Linux串行端口I/O问题
- 25. Linux串行端口优先级
- 26. linux终端输出
- 27. linux C++串口回声输出
- 28. stm32F4 pwm输入捕捉高频信号约。 2MHz的?
- 29. 基于Mic输入的PWM信号生成
- 30. 使用C#的扫描器进行串行通信端口(串行)通信
? – PherricOxide
您不应该将接收器芯片之外的任何东西连接到串行端口 - 它们不是被设计为/替换电源 – drahnr
没有任何本地化的问题。用一种足够好的方式来解决你需要解决的问题的可能性是常见的。 –