有很多例子说明如何通过PC的串口进行通信。 但有没有办法来configurationrs232的引脚? 我只需要将tx引脚设置一段时间,然后重新设置,等等。 有没有办法findrs 232引脚的地址? 谢谢。 如果有一个地址,那么我们如何访问该引脚或改变该地址的引脚状态?
串口通讯教程
“模式”命令不能在Windows 8.1中工作
如何将Windows COM端口输出redirect到文件?
在c ++的windows上的串行端口上设置low_latency标志
无法让C写入和读取串行端口
控制引脚
对于其他引脚DTR CTS等,您将需要使用ioctl()来切换引脚。
#include <termios.h> #include <unistd.h> #include <sys/ioctl.h> int f = open( "/dev/ttyS0",O_RDWR | O_NOCTTY); int pins; ioctl( f,TIOCMGET,&pins); pins = pins | TIOCM_DTR; ioctl( f,TIOCMSET,&pins) // the order you do this depends sleep(1); ioctl( f,&pins); pins = pins & ~TIOCM_DTR; ioctl( f,&pins)
各种标志在open和tty_ioctl的手册页中都有描述
传输引脚
使用TX引脚可能有点诡计; 在理论上,输出通常是1,但是你可以在一段时间内设置一个'break',将其设置为0.你可以使用下面的代码,但是我没有尝试过:
ioctl( f,TIOCSBRK)
警告
请注意,在传统的rs232中,电平在理论上为+/- 12v(+/- 3,15V之间),其中负值为1,正值为零,这可能与您所期望的相反。 但是现在很多连续端口都使用TTL或者3v3级别。
我在使用DTR作为输出GPIO的应用程序中使用了上述内容; 记得根据需要使用适当的电阻或其他缓冲,所以你不要炸毁你的PC串行端口。
YMMV与USB串行加密狗。
如果你不只限于RS232。 你有其他的选择
首先,如果你的电脑还有并行端口,这将是比RS232更好的选择。
或者,您可以使用一些USB-GPIO模块。 一些建议:
FTDI bitbang模式
8通道USB GPIO模块
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。