linux下编程对嵌入式设备输入命令该如何配置串口
我想通过串口配置嵌入式设备,如write(fd, "reboot\r\n", 8);后希望设备重启
请问在初始化串口时该如何配置c_oflag,c_lflag,
在打开的时候是不是只用open("/dev/ttyS0", O_RDWR|ONONBLOCK)就可以了
现在从串口读数据是对的,即可以读到系统的启动信息,但是无法输入命令,如reboot等
在c_oflag为0,newtio.c_lflag &= ~(ICANON|ECHO|ECHOE);(原始方式)时,输入reboot的输出为r9\wt#q, 把输入长度8改为9(包括/0)后输出为r9\wt#x
配成标准模式newtio.c_lflag |= (ECHO|ICANON|ECHOE); 时,偶尔会出现以下输出(刚从非标准模式转为标准模式时)
{r
{r : not found
D"(# D"(P""P""P""D("
这是有not found这个输出,表明接收了{r命令,但是没找到该命令。所以我推断应该是采用标准模式
但不知为何,任何模式下回显都不对,也就是说输出的命令都不对
尝试将c_oflag配为其它的模式,因为不知道到底怎么配,也没得到预期的结果