如何控制数据载波检测的电压?
我使用TIOCMSET
,但它不起作用:
int status;
int fd;
/* OPEN Connection */
if ((fd = open("/dev/ttyS0",O_RDWR)) < 0)
{
printf("Couldn't open ttyS0\n");
exit(1);
}
// turn on DCD
status |= TIOCM_CAR;
ioctl(fd, TIOCMSET, &status);
dcd引脚上的电压不会改变,但dtr和rts引脚的电压会发生变化。 我可以在linux中这样做吗?
答案 0 :(得分:1)
不,你做不到。
DCD是数据通信设备(如调制解调器)和输入到数据终端设备(如典型计算机)的输出。
可以读取输入,但不能驱动。
例外情况是,如果您在嵌入式板上运行Linux,其设计为外设,其串行端口可能连接为DCE而不是DTE,以允许直接连接到PC 而不用零调制解调器电缆。但是,在这种情况下,您驱动的信号可能不会在软件中称为DCD,除非软接口也反映了DCE角色。