欢迎来到天天文库
浏览记录
ID:37911653
大小:531.50 KB
页数:8页
时间:2019-06-02
《STM32的CAN模块测试说明》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、CAN模块测试1、功能描述bxCAN是基本扩展CAN(BasicExtendedCAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。2、主要特性l支持CAN协议2.0A和2.0B主动模式l波特率最高可达1兆位/秒l支持时间触发通信功能发送l3个发送邮箱l发送报文的优先级特性可软件配置l记录发送SOF时刻的时间接收l3级深度的2个FIFOl14个位宽可变的过滤器组-由整个CAN共享l标识符列表lFIFO溢
2、出处理方式可配置l记录接收SOF时刻的时间可支持时间触发通信模式l禁止自动重传模式l16位自由运行定时器l定时器分辨率可配置l可在最后2个数据字节发送时间管理l中断可屏蔽l邮箱占用单独1块地址空间,便于提高软件效率发送邮箱l共有3个发送邮箱供软件来发送报文。发送调度器根据优先级决定哪个邮箱的报文先被发送。接收过滤器l共有14个位宽可变/可配置的标识符过滤器组,软件通过对它们编程,从而在引脚收到的报文中选择它需要的报文,而把其他报文丢弃掉。接收FIFOl共有2个接收FIFO,每个FIFO都可以存放3个完整的报文。它
3、们完全由硬件来管理3、工作模式4、软件代码/*********************************************************************版权:-------------长沙源享教育--------------www.yxarm.net*文件:can.c*版本:V1*描述:CAN总线*作者:霍小波*时间:2011-7-5*说明:CAN总线,让CAN工作在回环测试模式下,来测试CAN总线是否正常。在CAN发送邮箱中,发送2个数据的数据帧,看接收FIFO中是否接收到这两个数
4、据-------------------------修改记录------------------------------------*修改功能:*修改时间:*修改作者:*遗留问题:********************************************************************/#include"stm32f10x_lib.h"#defineGPIO_CANGPIOB#defineGPIO_Pin_CAN_RXGPIO_Pin_8#defineGPIO_Pin_CAN_TXG
5、PIO_Pin_9#defineGPIO_Remap_CANGPIO_Remap1_CANtypedefenum{FAILED=0,PASSED=!FAILED}TestStatus;/*******************************************************************函数名称:TestStatusCAN_Polling_Configuration(void)*功能描述:采用查询的方式来测试CAN总线*入口参数:无*出口参数:TestStatus测试的状态码,若发
6、送与接收的数据一致返回1否则,返回0******************************************************************/TestStatusCAN_Polling_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;CAN_InitTypeDefCAN_InitStructure;CAN_FilterInitTypeDefCAN_FilterInitStructure;CanTxMsgTxMessage;C
7、anRxMsgRxMessage;u8TransmitMailbox=0;u32i;/***********************************************************CAN总线的引脚配置************************************************************//*ConfigureCANpin:RX*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_CAN_RX;GPIO_InitStructure.G
8、PIO_Mode=GPIO_Mode_IPU;GPIO_Init(GPIO_CAN,&GPIO_InitStructure);/*ConfigureCANpin:TX*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_CAN_TX;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStru
此文档下载收益归作者所有