Linux串口编程——发送的数据无法被接收,且被原封不动返回
问题描述
使用
#include <fcntl.h> /*文件控制定义*/
#include <termios.h> /*POSIX 终端控制定义*/
对串口进行编程,在PC端使用串口向嵌入式端发送数据时,嵌入式端无法读取到数据,且串口助手显示PC端发送的数据被原数返回。
如上图,嵌入式端程序启动时会向PC端发送WHU字符,PC端像嵌入式端发送“发送”,嵌入式端无法接收到数据,切串口助手中接收栏显示数据被原数返回。
Ubuntu嵌入端串口初始化程序如下
USART::USART(const char * dev)
{
fd=open(dev,O_RDWR|O_NOCTTY|O_NDELAY); //fd为打开的终端文件描述符
if(fd < 0)
cout << dev <<"open error\n" <<endl;
fcntl(fd, F_SETFL