用 STM32F042K6T6 单片机通过 STM32Cube 生成了 IAR 工程。设备需要搭载 CAN 总线
我在死循环里每隔 100ms 发送一帧 CAN 报文。前三次发送都会阻塞等待传输完成标志超时:
while(!(__HAL_CAN_TRANSMIT_STATUS(hcan, transmitmailbox)))
三次之后所有发送邮箱全部被占用,调用HAL_CAN_Transmit直接返回HAL_CAN_STATE_ERROR。
我已经测试了所有 CAN 工作模式:正常模式、内部自回环模式等。CAN 收发芯片选用 SN65HVD233DR。
示波器观测 CAN_TX 引脚始终只有 3.2V 静态电平,没有任何波形输出。
|