
CAN
sovnee
这个作者很懒,什么都没留下…
展开
-
STM32 hal库Can发送数据时第一包会发送两次
该问题在发送can数据时,采用查询方式那么就会进行一个等待超时: while(!(__HAL_CAN_TRANSMIT_STATUS(hcan, transmitmailbox))) { /* Check for the Timeout */ if(Timeout != HAL_MAX_DELAY) { if((Timeout == ...原创 2018-04-29 14:23:19 · 4363 阅读 · 0 评论 -
stm32 hal can接收大量数据的轰炸后,不能继续接收(不能再进入中断);
原因:若在接收的时候发送数据,发送中的处理:hal_can_transmit()中会进行hal_lock(hcan);然后更改can状态为HAL_CAN_STATE_BUSY_TX相关的。再谈一下接收中的处理,不用多说肯定是在接收中断国会开启下一次接收,即hal_can_receive_it();那么这里边又干了什么: /* Check if CAN state is not busy for ...原创 2018-04-29 14:38:43 · 11933 阅读 · 3 评论