Linux下RS232串口通信编程

时间:2021-06-21 07:52:39

串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是由于串口通信是异步的,串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。

 

linux下串口通信主要有下面几个步骤

Linux下RS232串口通信编程

 

 

 

先介绍下打开串口的步骤:

 1 //打开串口
 2 int open_port(void)
 3 {
 4     int fd;
 5         
 6     fd=open("/dev/ttyUSB0",O_RDWR | O_NOCTTY | O_NONBLOCK);//O_NONBLOCK设置为非阻塞模式,在read时不会阻塞住,在读的时候将read放在while循环中,下一节篇文档将详细讲解阻塞和非阻塞
 7 //    printf("fd=%d\n",fd);
 8     
 9     if(fd==-1)
10     {
11         perror("Can't Open SerialPort");
12     }
13     
14     return fd;
15 }