我正在尝试与tty设备(Telit调制解调器,所以AT命令)进行通信,但我在使用read()时遇到了问题。打开和写入工作(我通过在运行代码时打开cat / dev / ttyACM0会话来测试),但read总是返回一个随机地址。我没有搞乱很多终端设置,所以这可能是主要问题。
有人能指出我正确的方向来设置正确的终端属性吗?
目前,在重启Telit芯片后,stty会将这些设置恢复为默认设置(波特率由我设置除外)
>> stty -F /dev/ttyACM0
speed 921600 baud; line = 0;
-brkint -imaxbel
以下是我使用过的一些没有运气的终端设置。
terminal_settings.c_cflag &= ~CSTOPB;
terminal_settings.c_cflag &= ~CRTSCTS;
terminal_settings.c_cflag &= ~ICANON;
terminal_settings.c_cflag |= CREAD;
terminal_settings.c_cc[VTIME] = 0;
terminal_settings.c_cc[VMIN] = 0;