串口编程

串口概念、初始化、接受发送数据及C代码

什么是串口通信:串口按位(bit)发送和接收字节。串口是使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。通信使用3根线完成:(1)地线,(2)发送,(3)接收。

什么是串行接口:串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

Linux串口通信的步骤:

 串口的初始化

1、打开串口

//打开串口  
int open_port(void)  
{  
    int fd;  
     char *uart3= "/dev/ttySAC3";     
    fd=open(uart3,O_RDWR | O_NOCTTY | O_NONBLOCK);//O_NONBLOCK设置为非阻塞模式,在read时不会阻塞住,在读的时候将read放在while循环中,下一节篇文档将详细讲解阻塞和非阻塞  
//  printf("fd=%d\n",fd);  
      
    if(fd==-1)  
    {  
        perror("Can't Open SerialPort");  
    }  
      
    return fd;  
}  

 打开串口时也可以多加一些内容,比如判断串口为阻塞状态、测试是否为终端设备等,这些是必要的,所以较上面的基本的打开串口的代码,更加完整健壮一些的代码流程如下所示:

  

 

 

 

2、

 

posted @ 2018-09-15 21:00  earwen  阅读(301)  评论(0编辑  收藏  举报

致力于ARM及大数据应用开发&研究工作,专注ARM Cortex A系列开发和大数据前沿技术与趋势。

Font Awesome | Respond.js | Bootstrap中文网