我需要做一个使用安卓手机和下位机进行通信的工具,其中需要用到DTR和RTS。但在提供的驱动API中并没有控制这两个信号的方法。也无法把CH340接入的串口当作普通串口一样在系统里操作。
请问需要怎样才能做到安卓程序控制芯片的DTR和RTS呢?这个功能是很必要的。还是说可以在之后的更新版本驱动中提供此功能?
谢谢!
我需要做一个使用安卓手机和下位机进行通信的工具,其中需要用到DTR和RTS。但在提供的驱动API中并没有控制这两个信号的方法。也无法把CH340接入的串口当作普通串口一样在系统里操作。
请问需要怎样才能做到安卓程序控制芯片的DTR和RTS呢?这个功能是很必要的。还是说可以在之后的更新版本驱动中提供此功能?
谢谢!
您好,提供的库中,Uart_Tiocmset 接口函数就可以用来设定DTR和RTS信号,该函数实现如下:
private int Uart_Tiocmset(int set, int clear) {
int control = 0;
if ((set & UartModem.TIOCM_RTS) == UartModem.TIOCM_RTS)
control |= UartIoBits.UART_BIT_RTS;
if ((set & UartModem.TIOCM_DTR) == UartModem.TIOCM_DTR)
control |= UartIoBits.UART_BIT_DTR;
if ((clear & UartModem.TIOCM_RTS) == UartModem.TIOCM_RTS)
control &= ~UartIoBits.UART_BIT_RTS;
if ((clear & UartModem.TIOCM_DTR) == UartModem.TIOCM_DTR)
control &= ~UartIoBits.UART_BIT_DTR;
return Uart_Set_Handshake(control);
}