- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于S3c6410的串通信设计
文档控制记录
序号 修改状态 修改内容 修改人 完成时间 V1.0 创建文档 完成本文档的所有章节内容 2011-1-16 目录
文档控制记录 II
1.引言 1
2. 串口实现功能及相关协议说明说明 2
2.1概述 2
2.2实现功能 2
2.3相关协议及部分程序说明 3
2.4 PC和ARM调试结果 6
2.5 采用串口调试工具调试 8
3.主要问题 10
1、如何配置串口 10
2、串口接收0X13数据时,数据丢失的解决办法 11
3、串口0x0d变0x0a的原因 13
4、__attribute__((packed))相关解释 13
5、在PHP链接的C库里面使用while(1)的方法 15
6、程序中其他需注意的地方 16
1.引言
目的:本文档旨在约束ARM11在linux下的串口通信及相关协议的开发过程,主要针对串口通信相关程序,会涉及到一些必要的协议。
约束:串口通信、 协议
对象:嵌入式串口开发人员、linux下串口协议编写人员
参考文档:
《串口测试功能》 --何林
《Linux 下串口编程入门.html》
《Linux串口基础详解.html》
《linux 串口收发数据不全.html》
《串口 非中端参数.html》
《__attribute__((packed))相关解释.html》
《串口0x0d变0x0a的原因.html》
《串口接收0X13数据出现问题解决办法.html》
《串口实例.html》
2. 串口实现功能及相关协议说明说明
2.1概述
本次《基于ARM11的串口通信设计》,用了很大一段时间总算告一段落,没想到简单的串口,所隐射出来的结构体,相关配置会如此繁多,稍微一两个参数忽略就会造成收发数据不正确,后面会就所遇到的问题一一阐述,基本能够解决LINUX下串口编程绝大多数问题了,找寻很多难寻的资料,实属不易……
2.2实现功能
1、 应用框图
此次ARM11的串口应用程序分为发送部分和接收部分,ARM11和PC端都同时具备发送和接收,能实现:
上层WEB(配置)------》php动态库(获取)-------》c动态库(按协议封装)-------》串口应用程序 (接收)-------》PC(按协议解析,并再封装)----------》串口应用程序(发送)----------------》ARM11(按协议解析)----------》C库(向php送)------------》php库(向web送)-----------》WEB界面回显。
2、具体功能:
1)支持通过S3C6410的串口收发数据。
2)串口收发采用指定的通信规范(2.3),规范中的命令编号可自定义。
3)在PC1上模拟数据包发往S3C6410(串口调试工具),PC2能通过web查看该数据(在等待的时间范围内)。
4)在PC2上通过web提交数据到S3C6410,PC1能通过串口查看该数据,并且还能通过PC1将数据回显到PC2的界面上显示。
2.3相关协议及部分程序说明
串口通信规范
本章节规定了S3C6410通过串口与PC1之间的串口通信规范。
通信速率为115200bps,起始位为1,数据位为8,停止位为1,无奇偶校验。
基本格式
以数据包的形式进行交互,一个完整的数据包由起使标志单元、命令单元、CRC校验单元、结束标志单元4部分组成。详见下表。
表1:串口交互数据包格式
起始标志单元 命令单元 校验单元 结束标志单元 0X7E 0X7E 各单元详细说明如下:
起始标志单元:1字节长度,表示一个完整数据包的起始标志,固定为0x7E;
命令单元:由命令控制头和命令体两部分组成。命令控制头包括:命令编号、方向标志、应答标志、包序号、命令体长度5个字段组成,共6个字节长度。命令体的解析方法和实际长度由控制部分的“命令编号”字段和“命令体长度”确定。命令单元的组成格式见表2。
校验单元:针对协议中的“命令单元”进行校验(从“命令单元”的第一个字节计算到数据位的最后一个字节),采用CCITT推荐的16位的x16+x12+x5+1(0x1021)。生成2字节的CRC校验和(低字节在前,高字节在后)。CRC校验和算法相关程序中的相关功能函数。
结束标志单元:1字节长度,表示一个完整数据包(分组)起始标志,固定为0x7E。
数据传送要求
规定数据包传送过程中的一些细节。
转移字符定义为0X7D。
转移字符的作用:用于避免当除起始标志单元和结束标志单元外的数据中出现0X7E时,出现歧义,无法区分是数据还是起始、结束标志单元。
转移字符的使用方法:当除起始标志单元和结束标志单元外的数据中出现0x7E和0X7D时,就在数据前面插入一个字符0X7D,并将原来的数据的BIT5取
您可能关注的文档
- 基于Andoid的移动公交查询系统设计与实现 开题报告.doc
- 基于AM超声波测液位自动控制系统设计.doc
- 基于Andrid系统的阅读器设计与实现开题报告.doc
- 基于Android 平台的百纳理财管理软件计与开发.doc
- 基于Adroid手机的多轴飞行器姿态控制系统.pptx
- 基于Android和Web平台的企业日程管理系统的计与实现.doc
- 基于Androd的短信备份.doc
- 基于Android的个人事务管理系软件设计与实现.doc
- 基于Android的系人擂台战的设计与实现.doc
- 基于Android的联系人擂台战设计与实现.ppt
- 中考语文总复习语文知识及应用专题5仿写修辞含句子理解市赛课公开课一等奖省课获奖课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第二课《藏猫猫》精品课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第三课《我向国旗敬个礼》精品课件.pptx
- 高中生物第四章生物的变异本章知识体系构建全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 整数指数幂市公开课一等奖省赛课微课金奖课件.pptx
- 一年级音乐上册第二单元你早全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级数学上册第二章实数27二次根式第四课时习题省公开课一等奖新课获奖课件.pptx
- 九年级物理全册11简单电路习题全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级语文下册第五单元19邹忌讽齐王纳谏省公开课一等奖新课获奖课件.pptx
- 2024年秋季新人教PEP版3年级上册英语全册教学课件 (2).pptx
最近下载
- 创业计划书模板文具店.docx
- 查莉成长日记中英台词对照版S01E01 Good Luck Charlie.doc VIP
- 2025年张家界航空工业职业技术学院单招职业技能测试题库1套.docx VIP
- 实用骨科学(可编辑).pdf VIP
- 2025年烟台南山学院单招语文考试题库及答案解析.docx
- 2023届山东省济宁市高考一模化学试题.pdf VIP
- 2025年湖南化工职业技术学院单招职业适应性测试题库及完整答案一套.docx VIP
- 第三单元名著导读《经典常谈》教学实录+2022—2023学年部编版语文八年级下册.docx
- 汽车结构与拆装PPT课件556.pptx VIP
- 标准图集-陕22G03-墙下条形基础.pdf
文档评论(0)