"AT90CAN的CAN通信模块 驱动设计及C编程" 本文对AT90CAN系列单片机CAN通信模块的驱动设计和C编程进行了详细介绍,旨在说明如何对其进行编程实现CAN通信功能,为使用单片机进行CAN通信的初学者提供了编程参考。 一、CAN总线通信简介 CAN总线通信是一种 Serial 通信协议,具有可靠性、实时性和灵活性等特点,广泛应用于汽车行业、机器人、数控机床、家用电器等领域。 二、AT90CAN单片机CAN控制器特性 AT90CAN单片机的CAN控制器能够兼容CAN2.OA和CAN2.OB通信协议,内部设有120字节的邮箱空间,由15个MOB(Message Object)与CAN DATA BUFFER组成。MOB用来描述一帧完整的CAN报文信息,每个MOB拥有独立的工作寄存器组,规定了CAN通信报文的帧格式与工作模式。 三、CAN控制器的初始化 要实现CAN通信,首先要对CAN控制器进行正确的初始化设置。初始化过程包括对CPU的引脚功能、CAN通信波特率、中断优先级和MOB寄存器的设置等。在编写驱动的过程中,需要注意的是在完成对CANPAGE寄存器的设置后,再进行MOB的设置;否则,MOB的初始值将不能被保存,导致系统初始化失败。 四、AT90CAN单片机与PC机CAN通信实例 本文以AT90CAN单片机与PC机间的CAN通信为例,进一步说明AT90CAN单片机的CAN功能模块驱动的编制流程。其功能是接收PC机经由专用的PCI-CAN模块扩展的CAN接口发出的数据,并将收到的数据与验收过滤器寄存器中设定的ID值比较。如果ID值相符,则将数据重新编制ID后发给PC机。 五、结论 AT90CAN系列单片机内部集成了独立的CAN控制器,弥补了单片机在CAN总线通信应用中的缺陷,不必再扩展外围的CAN通信控制芯片,简化了硬件电路设计。本文通过对AT90CAN系列单片机CAN通信模块的详细介绍,旨在说明如何对其进行编程实现CAN通信功能,为使用单片机进行CAN通信的初学者提供了编程参考。 六、C语言编写的CAN通信程序 本文还提供了C语言编写的CAN通信程序,实现了AT90CAN单片机与PC机间的CAN通信。该程序可以作为初学者学习CAN通信编程的参考。
- 粉丝: 4
- 资源: 932
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 面向初学者的 Java 教程(包含 500 个代码示例).zip
- 阿里云OSS Java版SDK.zip
- 阿里云api网关请求签名示例(java实现).zip
- 通过示例学习 Android 的 RxJava.zip
- 通过多线程编程在 Java 中发现并发模式和特性 线程、锁、原子等等 .zip
- 通过在终端中进行探索来学习 JavaScript .zip
- 通过不仅针对初学者而且针对 JavaScript 爱好者(无论他们的专业水平如何)设计的编码挑战,自然而自信地拥抱 JavaScript .zip
- 适用于 Kotlin 和 Java 的现代 JSON 库 .zip
- AppPay-安卓开发资源
- yolo5实战-yolo资源