微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > Cortex-M3内核芯片LM3S2965的CAN总线节点设计

Cortex-M3内核芯片LM3S2965的CAN总线节点设计

时间:02-15 来源:互联网 点击:


其中,ulMsglD用作11或29位标识符的CAN报文标识符;ulMsgIDMask为在使能标识符过滤器时所使用的报文标识符屏蔽;ulFlags保存多个状态标志和tCANObjFlags所指定的设置;ulMsgLen是报文对象中的数据字节数;pucMsgData是指向报文对象的数据的指针。
此结构是对与CAN控制器中一个CAN报文对象相关的项目进行的压缩。可以直接将这个对象的信息填充,即进行对象的赋值工作。下面的代码是程序中CAN接口部分的初始化部分:


上面的这些函数都已经通过提供的API函数完成工作,CANConfigureNetwork函数要自己编写,代码如下:

这里仅仅是对前文介绍的对象进行赋值,是将系统中真正用到的对象配置成我们需要的对象(包括是发送还是接收)。此处鉴于篇幅只给出了两个对象,一个用于发送数据,一个用于接收数据。上面的函数设置好后就可以通过CAN中断控制器来接收和发送数据。上述程序代码在Keil C3.78版本上调试编译通过,并且已经成功用于产品中。

结语
本文介绍的CAN总线接口节点设计方案实现非常方便,硬件电路简单,软件设计模块化,可以应用此方案设计实用的系统。本文的接口就是称重仪表的一部分,可以直接将仪表与传感器组成的称重系统接入现有的分布式网络中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top