gpt4 book ai didi

c - linux pc 中的 rs 232 引脚配置

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:58 25 4
gpt4 key购买 nike

关于如何通过pc串口进行通信的例子有很多。但是有没有办法配置rs 232的管脚呢?我只需要设置 tx pin 一段时间,然后重置它等等。有没有办法找到 rs 232 的引脚地址?谢谢。如果有一个地址,那么我们如何访问该地址或更改该地址中的引脚状态?

最佳答案

控制引脚

对于其他引脚 DTR CTS 等,您需要使用 ioctl() 来切换引脚。

这是一个简单的例子(没有错误检查)来为 DTR 行做这个:

#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, TIOCMGET, &pins);
pins = pins & ~TIOCM_DTR;
ioctl( f, TIOCMSET, &pins)

open 和 tty_ioctl 的手册页中描述了各种标志

发送密码

使用 TX pin 可能有点麻烦;理论上输出通常为 1,但随后您可以设置一个“中断”一段时间,将其设置为 0。您可能会使用以下内容,但我还没有尝试过:

ioctl( f, TIOCSBRK)

注意

请注意,在传统的 rs232 中,电平名义上为 +/- 12v(在 +/-3,15V 之间),其中负值为 1,正值为零,这可能与您的预期相反。但是现在很多串行端口都使用 TTL 或 3v3 级别。

我在将 DTR 用作输出 GPIO 的应用程序中使用了上述内容;请记住根据需要使用适当的电阻器或其他缓冲,这样你就不会炸毁你的 PC 串行端口。

带有 USB 串行加密狗的 YMMV。

关于c - linux pc 中的 rs 232 引脚配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com