1、CH32V3xx CAN简介
CH32V307具有2路CAN控制器,CAN控制器提供了完整的CAN协议实现方案,兼容CAN 规范2.0 A和2.0 B。可编程的传输速率,最高可达1Mbit/s。支持时间触发功能,可避免低优先级消息阻塞。支持3个发送邮箱,发送报文优先级可由报文标识或发送请求次序决定。支持3级邮箱深度的2个接收FIFO,28个过滤器组可供配置。CAN1、CAN2共用28个过滤器,每个过滤器组可以配置成32或16位模式,屏蔽位或标识符列表模式,能够减少软件对报文筛选的干预。
CAN接口的引脚复用如下表所示:
2、CAN收发测试
本文测试使用CAN1、CAN2同时进行收发,接收采用中断方式接收。
2.1 CAN口初始化
2.1.1 CAN_InitTypeDef 结构
typedef struct
{
uint16_t CAN_Prescaler; /