MCP2515在发送数据时,如果通信速率较低一切都正常。但是当通信速率较高,比如1M时,发送一帧数据后,MCP2515有时会出现自动重复发送多帧数据的情况。
为解决这现象,请参照官方给的《MCP2515勘误手册》第5条,给出了解决CAN速率较高时,出现数据多发重复发送的解决方法:
即,在保证数据发送完成的情况下,加入片选信号可解决问题。
一、
1、 2路CAN接口(MCP2515的1路,STM32F103C8T6自带的1路CAN),可以实现两路CAN的通信;
2、供电范围宽(7-28v),采用可插拔式4位数码管模块进行显示,数码管模块采用2线式驱动(加上2根电源线共四线);
3、3个独立按键用于控制CAN的发送和接收通信实验;
4、配备RS232串行通信接口,可通过此串口实现与电脑通信,方便调试以及实现CAN和232互转通信;
5、模块程序调试烧写采用SWD方式(VCC,GND,SWCLK,SWDIO四线);
6、两路can接口均配备120R匹配电阻,通过拨码开关来选择是否接入电路。
二、
1、可以实现CAN和串口之间的双向通信:串口转CAN或CAN转串口
2、可以实现2路CAN之间的数据接收和发送:如,将MCP2515的CAN接收的数据通过STM32F103C8T6的CAN发送出去,或者将STM32F103C8T6的CAN接收的数据通过MCP2515的CAN发送出去。
3、CAN的通信波特率最高可达到1M,并且最低通信波特率可低至5K
4、MCP2515 CAN高速率通信时,解决了帧重发、多发现象
互相交流:q: 1425636507 。,