我正在尝试通过串行端口读取数据,但是读取操作始终返回0。

// Opening COM port and m_fd returned a valid number
m_fd =  open (m_com_port, O_RDWR | O_NOCTTY | O_SYNC);

//Read operation
length = read(m_fd, &ch, 1);  // length is always zero

setserial -g /tmp/xdl/serial/com_7
# /tmp/xdl/serial/com_7, UART: undefined, Port: 0x0000, IRQ: 45


可以指出我正在做什么错误以及为什么setserial命令给出未定义

最佳答案

您的BUFFER_SIZE可能太小,必须提供足够大的缓冲区。

BUFFER_SIZE是读取功能的第三个参数。

关于linux - 串行端口“读取”操作不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30024077/

10-12 20:21
查看更多