Linux下ARM和CC2530的串口通信.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下ARM和CC2530的串口通信.doc

Linux下ARM和CC2530的串口通信   摘 要:基于Linux下ARM Cortex A8和CC2530的串口通信技术,可实现Cortex A8和CC2530间的串口通信。Cortex A8的串口通信是采用C语言编写,并采用交叉编译的方法实现;CC2530的串口通信则是基于ZStack协议栈并使用IAR编译器开发的。该方法可为以Cortex A8为处理器、CC2530为网络节点的无线网络组建提供技术支持。   关键词:Linux;ARM;CC2530;串口通信   中图分类号:TP39 文献标识码:A 文章编号:2095-1302(2016)01-00-03   0 引 言   由于ARM嵌入式系统具有体积小、功耗低、噪音低、成本低、数据处理能力强等优点,被广泛用作自动控制、智能终端等设备的硬件平台。通常ARM嵌入式平台是在操作系统的支持下工作,常见的操作系统有Wince、uCOS、uCLinux、嵌入式Linux等,其中,Linux操作系统具有稳定性高、源代码公开等优点,而被广泛用于工业控制、机器人、物联网等领域。Linux-ARM嵌入式系统是Linux操作系统与ARM硬件平台的结合,兼具了Linux操作系统和ARM嵌入式的优点,是开发智能控制设备的常用组合。物联网是继计算机技术、互联网技术之后世界信息产业发展的新浪潮,它所包含的无线传感网具有使用、安装便利的特点。基于IEEE 802.15.4协议的ZigBee技术是随着物联网的兴起而发展起来的一种无线传感网组网方案[1],基于该技术,Ti公司推出了系列网络处理器芯片,其中CC2530是Ti公司推出的第二代网络处理芯片,集成了RF收发器、增强型8051控制器、可编程存储器等模块,具有更卓越的RF性能,更小的封装尺寸和IR产生电路,并支持多种协议如ZigBee PRO、ZigBee RF4CE等[2],由其组成的无线传感网可用于居家、消费类电子产品、工业、医疗等领域。虽然CC2530所采用的CPU技术成熟,有一定的计算、控制等能力,但在控制通信较复杂的场合下不能满足需求,因而需要性能更强的处理器作为上位机,如Linux-ARM嵌入式系统。由此可见,采用Linux-ARM为上位机、CC2530为下位机是一种优秀的智能无线网络组网方案。在由Linux-ARM和CC2530组成的网络系统中,Linux-ARM和CC2530间的通信是该组网方案必须解决的一项技术问题。Linux-ARM嵌入式系统[3]和CC2530均拥有串口通信方式,这可成为两者传递信息的通道。基于以上分析,本文设计了Linux系统下ARM Cortex A8的串口通信;使用ZStack协议栈开发了CC2530的串口通信,实现了Cortex A8和CC2530间的通信。   1 Linux-ARM串口通信   S5PV210AH是三星基于ARM Cortex A8内核生产的一款处理器,主频达1 GHz,被广泛应用于数据采集、图像处理、智能终端、自控设备、物联网网关等方面。在Linux-ARM系统中,Cortex A8的串口通信是在Linux操作系统的控制下完成的,其程序流程图如图1所示。   图1 Linux下ARM Cortex A8串口通信流程图   为在Linux-ARM系统中进行串口通信,首先需打开串口设备,而Linux系统对设备的管理是通过文件实现的,对串口的操作等同于对文件的操作。Linux系统中的设备管理文件存放在/dev目录中,串口的文件名一般为ttyS*,其中*表示不同的串口,是从0开始的整数。串口可通过open()函数打开: fd=open(“/dev/ttyS0”, O_RDWR),语句中的参数ttyS0表示串口1,O_RDWR表示可对串口进行读写操作,fd是open()函数的返回值,称为文件描述符,在随后的操作中,Linux系统的内核可使用该文件描述符来访问文件。如果fd =-1则表示打开失败,程序通过return返回系统,若打开成功则进行串口参数设置。串口参数设置过程如图2所示,首先是获取串口参数,而后根据需要进行参数配置,最后对串口进行参数设置,该过程主要涉及到的有tcgetattr()函数、termios结构体和tcsetattr()函数。   图2 Linux-ARM的串口设置过程   在串口参数配置的过程中,termios结构体是完成配置的关键,该结构体包含在termios.h头文件中,其内容如下:   struct termios   {   unsigned short c_iflag;输入模式标志   unsigned short c_oflag;输出模式标志   unsigned short c_cflag;控制模式标志   

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档