STM32F4 CAN
暗暗星
这个作者很懒,什么都没留下…
展开
-
STM32CAN通信速率与通信距离的关系
当前做的项目需要100米距离的CAN通信,亲自体验了一番通信速率与距离的关系。在项目中要想数据传送得远就需要把波特率降低。我刚开始设置的波特率为100K,实测有时候会掉线。后面把速率降低到50K,通信就稳定了。 // 其他,初始化失败; /* // 100K CAN_InitStructure.CAN_SJW=CAN_SJW_1tq; //重新同步跳跃宽度(Tsjw)为tsjw+1个时间单位 CAN_SJW_1tq~CAN_SJW_4tq CAN_InitStructure.CA原创 2021-09-11 20:03:49 · 1421 阅读 · 0 评论 -
STM32F4 CAN发送邮箱被占满
最近测试CAN通讯,连续发送数据一段时间后,从机无法接收主机数据。通过仿真发现CAN发送邮箱满了。故障原因是:设计电路图的时候CAN总线的匹配电阻忘了加上。加上匹配电阻后,通信正常。...原创 2021-08-24 14:44:31 · 5345 阅读 · 4 评论 -
STM32F4 CAN1 CAN2中断接收数据
CA1N1、CAN2总线接收,中断接收。平台:STM32F405RGT6、标准库。CAN1配置void CAN1_Mode_Init(u8 mode){ GPIO_InitTypeDef GPIO_InitStructure; CAN_InitTypeDef CAN_InitStructure; CAN_FilterInitTypeDef CAN_FilterInitStructure; NVIC_InitTypeDef NVIC_InitStructure原创 2021-08-05 13:15:36 · 6312 阅读 · 3 评论 -
STM32F4 CAN怎么判断数据是否发送成功
#平台:STM32F405RGT6 库函数版本最近在做一个CAN/2.4G冗余的通信设计,CAN在线就用CAN通信,反之则切换到无线。一般有线如RS485通信须从机返回一个应答帧来确认数据发送成功与否,但是这种方法会降低通信效率。CAN可以通过邮箱状态来判断数据是否发送成功。如果邮箱中的报文被成功发送,那么邮箱状态变为空邮箱。如果邮箱中的报文发送失败了,那么邮箱状态变为无空闲邮箱。void CAN1_Send_Msg(u8* msg,u8 len){ u8 i=0; CanTxMsg Tx原创 2021-08-07 20:17:39 · 5467 阅读 · 3 评论