hello哇,感觉还久没写博客啦,这两周都在重温Linux下的一些操作,好久没有在Linux系统下操作感觉都生疏了呢。闲话不多说,今天要写一篇基于ARM下的串口通信。
一:操作平台:
Linux,fl2440开发板,C语言
二:关于串口通信,想进一步了解的可以看我的另一篇博客:
https://blog.csdn.net/panrenqiu/article/details/79819470
下面来看代码:
#include"usart.h"
/*******************************************************************
*名称: UART0_Open
*功能: 打开串口并返回串口设备文件描述
*入口参数: fd 文件描述符
port 串口号(ttyS0,ttyS1,ttyS2)
*出口参数:正确返回为1,错误返回为0
*******************************************************************/
int UART0_Open(int fd,char*port)
{
fd = open( port, O_RDWR|O_NOCTTY|O_NDELAY);
if (fd<0)
{
perror("Can't Open Serial Port");
return(FALSE);
}
//恢复串口为阻塞状态
if(fcntl(fd, F_SETFL, 0) < 0)
{
printf("fcntl failed!\n");
return(FALSE);
}
else
{
printf("fcntl=%d\n",fcntl(fd, F_SETFL,0));
}
//测试是否为终端设备
if(0 == isatty(STDIN_FILENO))
{
printf("standard input is not a terminal device\n");
return(FALSE);
}
else
{
printf("isatty success!\n");
}
printf("fd->open=%d\n",fd);
return fd;
}
/*******************************************************************
*名称: UART0_Close
*功能: 关闭串口并返回串口设备文件描述
*入口参数: fd 文件描述符
port 串口号(ttyS0,ttyS1,ttyS2)
*出口参数:void
*******************************************************************/
void UART0_Close(int fd)
{
close(fd);
}
/*******************************************************************
*名称: UART0_Set
*功能: