- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章主要讲述嵌入式linux系统下的各种通信应用,包括串口通信、网络通信、蓝牙通信与CAN总线通信,其中CAN总线是本章的重点和难点。每种通信所对应的协议内容和工作方式是理解每种通信应用过程的关键,建议读者仔细分析,其它的如GPRS、VoIP也可以参照上述思路进行学习。 请完成串口通信实验。 请完成嵌入式网络编程。 举例描述socket 程序中的大数量和小数据量传输方式的选择和原因。 请完成蓝牙通信实验。 请完成Can总线通信实验。 请举例简述Can数据传输一次数据的大小和回环方式的选择。 请基于Can总线通信和Qt用户界面实现聊天室程序。 思考嵌入式Linux下的其它通信方式与协议,并列表进行区分。 驱动程序会根据module_init()函数所指定的参数作为入口函数,在CAN控制器驱动中,这个入口函数为s3c2410_mcp2510_init(),它主要完成一些基本的初始化工作。CAN控制器驱动的初始化工作主要有: 软件复位,进入配置模式。 设置CAN总线波特率。 关闭中断。 设置ID过滤器。 切换MCP2510到正常状态(Normal)。 清空接受和发送缓冲区。 开启接收缓冲区,开启中断(可选)。 初始化工作完成之后,会引入驱动程序的操作集。 第四节 嵌入式蓝牙技术 —— 三、CAN控制器驱动 初始化工作完成之后,会引入驱动程序的操作集。CAN控制器驱动的操作集结构如下: static struct file_operations s3c2410_fops = { owner: THIS_MODULE, write: s3c2410_mcp2510_write, read: s3c2410_mcp2510_read, ioctl: s3c2410_mcp2510_ioctl, open: s3c2410_mcp2510_open, release: s3c2410_mcp2510_release, }; 第四节 嵌入式蓝牙技术 —— 三、CAN控制器驱动 应用层的read()函数首先调用s3c2410_mcp2510_read,该函数负责用户区和内核区之间的数据传送。之后调用RevRead函数和s3c2410_isr_mcp2510函数对数据缓冲区进行操作,在这个过程中会调用MCP2510_Read函数,它的工作包括: 在local处理器上关闭中断。 MCP2510片选ENABLE。 CAN总线发送流程。 MCP2510片选DISABLE。 打开中断。 其中, CAN总线发送流程的具体操作顺序如下: 1)在s3c2410_fops结构中添加写接口 。 2)用户程序使用CanData数据结构给驱动模块传递参数。 3)从用户空间读取待发送的内容 。 4)对用户空间传递的数据加以解析 。 5)MCP2510通过SPI接口与处理器传递数据。 第四节 嵌入式蓝牙技术 —— 三、CAN控制器驱动 对于写操作,应用层的write()函数首先调用s3c2410_mcp2510_write,该函数负责用户区和内核区之间数据传送。之后调用MCP2510_canWrite函数和MCP2510_Write_Can函数。在该函数中完成CAN的数据结构之后,调用MCP2510_Write函数,它的工作包括: 在local处理器上关闭中断。 MCP2510片选ENABLE。 CAN总线单字节写入操作。 MCP2510片选DISABLE。 打开中断。 其中,CAN总线单字节写入操作的顺序如下: 1)SPI总线发送数据函数:SendSIOData()。 2)发送单字节写入命令:0x02。 3)发送写入的地址。 4)发送写入的内容。 第四节 嵌入式蓝牙技术 —— 三、CAN控制器驱动 除了read和write操作,ioctl的操作也很重要。CAN控制器的ioctl函数如下: static int s3c2410_mcp2510_ioctl(struct inode *inode, struct file *file,unsigned int cmd, unsigned long arg) 其中,参数inode为设备节点,arg为io参数,file为CAN控制器设备的设备文件指针,cmd为io选项 第四节 嵌入式蓝牙技术 —— 三、CAN控制器驱动 下面再介绍驱动中常用到的两个数据结构:CanData和Mcp2510_DEV。 typedef struct { unsigned int id; //CAN总线ID unsigned char data[8]; //CAN总线数据 unsigned char dlc; //数据长度 int IsE
您可能关注的文档
- 第7章生产物流系统设计研讨.ppt
- 第7章生产损失的核算研讨.ppt
- 第7章软件、服务和算法技术《物联网技术基础》研讨.ppt
- 第7章任务间的同步与通讯之消息队列研讨.ppt
- 第7章任务的同步与通讯之信号量研讨.ppt
- 第7章热力学研讨.ppt
- 南江县小和职业中学八年级上第三次月考.docx
- 第7章球类运动研讨.ppt
- 第7章墙体研讨.ppt
- 第7章汽车润滑剂的合理使用研讨.ppt
- 2025医院卫生院医德医风考评细则方案.docx
- 2025学年四川省内江市【国家公务员】公共基础知识预测试题含答案.docx
- 2025医院卫生院改进医疗服务专项行动实施方案.docx
- 2025上半年湖北省十堰市郧阳区事业单位《公共基础知识》试题及答案.docx
- 2025学年云南省昆明市国家公务员公共基础知识预测试题含答案.docx
- 2025医院公开招聘简章(模板).docx
- 2025医院卫生院采购询价管理细则(最新版).docx
- 2025医共体医院分级诊疗双向转诊实施方案.docx
- 2025深入贯彻中央八项规定精神学习教育应知应会50题题库(含答案).docx
- 2025上海社区《网格员》考前模拟题(含答案).docx
最近下载
- (天猫商城运营总体流程.doc VIP
- 《食品仪器分析技术》课件.ppt VIP
- 财务会计实务教学课件作者雷灵变第十章.pptx VIP
- 冰河世纪4(中英对照台词).pdf VIP
- 第八课 《制作 “广东风情游”多媒体作品》 教学设计2023-2024学年小学信息技术粤教版(B版)四年级下册.docx VIP
- 2025内蒙古呼和浩特市赛罕区招聘50名社区专职网格员笔试备考题库及答案解析.docx VIP
- 高中毕业生登记表(模板).pdf VIP
- 乙腈MSDS.pdf VIP
- 应征入伍服兵役高等学校学生国家教育资助申请表.docx VIP
- GARMIN 佳明 Fenix 6 Pro CN 用户手册 说明书.pdf
文档评论(0)