科技

您的位置:主页 > 科技 >

草莓视频下载:Linux下ARM和单片机的串口通信设计

发布日期:2021-03-29 00:28浏览次数:
本文摘要:概述:解读Linux自然环境下串口通信的设计方法和流程,并解读了ARM9微控制器s3c2440在Linux下和C8051Fxxx系列产品单片机设计展开串口通信的设计方法,得到了硬件配置相接和通讯程序流程图。该方式可靠、简易,仅限于于大部分LinuxARM和单片机设计串口通信的场所。

草莓视频下载

概述:解读Linux自然环境下串口通信的设计方法和流程,并解读了ARM9微控制器s3c2440在Linux下和C8051Fxxx系列产品单片机设计展开串口通信的设计方法,得到了硬件配置相接和通讯程序流程图。该方式可靠、简易,仅限于于大部分LinuxARM和单片机设计串口通信的场所。

  关键字:Linux;ARM;单片机设计;串口通信  0章节目录  数据收集系统软件中因为单片机设计偏重于操控,数据处理方法工作能力较强,对搜集的数据信息展开计算应急处置比较繁杂,假如根据串口与上位机软件通讯,运用上位机软件强悍的数据处理方法工作能力和友好往来的操控界遭遇数据信息展开应急处置和说明则能够提高设计方案高效率。串口通信以其比较简单的硬件配置相接,成熟的通讯协议,沦落上下位机中间通讯的采用。重置了Linux电脑操作系统的s3c2440能够在Linux自然环境下操作者串口,降低了串口操作者的可玩度,能够使开发人员集中注意力产品研发规模性的应用软件,而无需在操作者最底层设计方案上花费时间。  1硬件配置相接  s3c2440是三星公司生产制造的根据ARM9核的CPU,应用3.3V工作电压供电系统;C8051Fxxx系列产品单片机设计是英国CYGNAL企业开售的与8051相溶的性能卓越髙速单片机设计,应用3.3V工作电压供电系统。

二者供电系统工作电压完全一致,因此 展开串行接口通讯时不务必展开脉冲信号转换。硬件配置相接应用最常见的TXD,RXD,GND三线相接方法。注意应用交叉式相接方法,即TXDRXD,RXDTXD.  2Linux下串口通信  2.1Linux下串口设备描述  s3c2440上重置了Linux2.6.32电脑操作系统,载入了s3c2440的串口驱动软件,根据Linux获得的串口操作者涵数和文档操作者涵数把对串口的操作者相当于文档操作者,降低了串口的操作者可玩度,提高了高效率。

在程序流程中机器设备和文档全是根据文件描述符来操作者的,文件描述符在Linux核心中是一个非负整数。Linux机器设备文档都储放在/dev文件目录下,串口都不特别注意,在/dev中能够找寻串口相匹配的机器设备文档,文中相匹配的串口1的机器设备文件路径是/dev/ttySAC1.  2.2Linux下串口通信编程设计  串口通信务必设定一些主要参数,如串口波特率、数据位、中止位,I/O方法等。这种主要参数都不会有于Linux获得的termios构造中,该构造是Linux系统软件作为搜索和操作者每个终端设备的一个通信接口,界定在头文件ter-mios.h中,以下下图:  STructtermios{tcflag_tc_iflag;/*輸出标示*/tcflag_tc_oflag;/*键入标示*/tcflag_tc_cflag/*操控标示*/tcflag_tc_lflag/*当地标示*/cc_tc_cc[NCCS];/*操控特点*/};Linux串口通信流程可分为下列三步,操作者步骤如图所示1下图。▲图1  第一步:合上串口启用open()涵数合上串口机器设备文档,若不正确则返回-1,成功则返回文件句柄。

  #defineUART1/dev/ttySAC1intfd;fd=open(UART1,O_RDWR)/*以恢复出厂设置能用方法合上串口机器设备*/  第二步:设定串口属性涵数tcsetattr()能够设定串口的构造属性,tcgetatt()能够得到 串口的构造属性。在termios构造中,?=s?最重要的是c_cflag,客户根据对其展开取值能够搭建串口串口波特率、数据位、中止位、奇偶校验位等主要参数的设定。

c_cc数组中的2个自变量VMIN和VTIME鉴别否返回輸出,c_cc[VTIME]原著字节数輸出时间计时器,c_cc[VMIN]原著合乎载入作用的小于对接字节。这两个自变量的值要原著有效,才可以保证 串口的通讯通过率。  intset_attr(intfd){structtermiosnewtio,oldtio;tcgetattr(fd,oldtio);cfsetispeed(newtio,B9600);/*设定阅读串口波特率为9600*/cfsetospeed(newtio,B9600);/*设定写成串口波特率为9600*/memset(newtio,0,sizeof(newtio));newtio.c_cflag=CS8|CREAD;/*设定数据位为8位而且也就能对接*/newtio.c_cflag=~PARENB;/*不展开奇偶校验*/newtio.c_cflag=~CSTOPB;/*1位中止位*/newtio.c_cc[VMIN]=1;/*当对接到一个字节数据信息就载入*/newtio.c_cc[VTIME]=0;/*不用以记时器*/tcflush(fd,TCIOFLUSH);/*刷清I/O缓冲区域*/tcsetattr(fd,TCSANOW,newtio)/*使设定的终端设备属性马上起效*/}  第三步:串口载入,串口再开设定完后通讯主要参数后,就可以用规范的文档载入指令read()和write()操作者串口了。

最终在散伙以前,用close()涵数再开串口。


本文关键词:草莓,视频下载,Linux,下,ARM,和,单片机,的,串口,草莓app成年色版下载

本文来源:草莓视频成年版app下载-www.540379.com

微信扫码 关注我们

  • 24小时咨询热线

    24小时咨询热线0981-40319518

  • 移动电话11655067126

Copyright © 2003-2021 www.540379.com. 草莓视频下载科技 版权所有 地址:湖北省随州市唐河县东滨大楼7512号 备案号:ICP备21607645号-3 网站地图 xml地图