微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于ARM+Linux的异步串行通信设计

基于ARM+Linux的异步串行通信设计

时间:04-09 来源:互联网 点击:
3 目标板与宿主机间通信的实现

(1)打开串口

打开串口和打开普通文件一样,使用的函数同打开普通文件一样,都是open函数fd=open ("/dev/ttyS0”,O_RDWR | O_NOCTTY | O_NDELAY),接下来可恢复串口的状态为阻塞状态,用于等待串口数据的读入,可用fcntl函数实现[1],如下所示:

fcntl(fd,F_SETFL,0);

再接着可以测试打开文件捕述符是否引用一个终端设备,以进一步确认串口是否打开,如下所示:isatty(STDIN_FILEN0);该函数调用成功则返回0,若失败则返回-1。

(2)读写串口

读写串口操作和读写普通文件一样,使用read(),write()函数即可。其流程网如下所示:


图3串口读写流程图

将读串口程序在PC机上编译,写串口程序交叉编译,分别得到宿主机与目标机的可执行文件,将写串El程序通过Linux下的串口通信软件Minicom下载到S3C241x0开发板上或将其制作成文件系统烧写到目标板上,先运行读串口程序,再运行写串口程序。最后成功的实现了目标板与宿主机之间的通信。

4 结束语

如今,把嵌入式Linux内核嵌入到32位MCU中,通过构造TCP/IP多种网路协议和基本的通信协议,在利用嵌入式操作系统对底层硬件和网络协议的支持,以及对内核和虚拟内存机制进行改造,可以保证系统的可靠性和实时性.具有广阔的应用前景,而且具有开发周期短,系统性能稳定可靠,适应性强等特点。

本文作者创新观点:本文采用的基于ARM+Linux的系统,可以方便的移植操作系统,实现实时高速数据互访,扩展应用程序,所有数据町以便捷,可靠的传输到远端。

作者:陈佳男,李欣,张海燕      来源:《微计算机信息》(嵌入式与SOC)2009年第3-2期

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top