STM32 CAN SW
2017-11-28 09:16:17 0 举报
STM32 CAN flow
作者其他创作
大纲/内容
exchange hcan-State
hcan-State = HAL_CAN_STATE_READY
Check End of transmission flag
HAL_CAN_IRQHandler
Clear ERRI Flag:hcan-Instance-MSR = CAN_MSR_ERRI
Check HAL_CAN_STATE_BUSY_XXX
HAL_CAN_Transmit_IT
Enable interrupts:Error/Transmit mailbox empty Interrupt(TME)
Request transmission
CAN_Transmit_IT(hcan)
Select one empty transmit mailbox
if(hcan-State == HAL_CAN_STATE_BUSY_TX)
SET_BIT : hcan-Instance-TSR
Enable interrupts:Error/Transmit mailbox empty InterruptFIFO overrun and/ message pending Interrupt
ERR
Disable interrupts/HAL_CAN_ErrorCallback(hcan)
Check Error Warning Flag
Disable Error Interrupts
Disable Transmit mailbox empty Interrupt
Check Overrun:FOV0
Check End of reception flag for FIFOMSG_PENDING/FMP
hcan-Instance-ESR
HAL_CAN_TxCpltCallback(hcan)
收藏
0 条评论
下一页