STM32F3XX CAN(控制器区域网络)接收



我正在与of of stm32f303k8一起工作。我可以传输数据,但无法接收数据;函数hal_can_receive((返回hal_timeout。我正在使用1m和32时钟。可以告诉我我们如何使用hal_can_receive((接收数据frome can

为了在STM32上接收can消息,您必须启用至少一个过滤器。该消息与所有过滤器进行了比较,并且需要将至少一个过滤器匹配以放入FIFO中。

您可以制作与所有消息匹配的过滤器。

 sFilterConfig.FilterNumber = 0;
 sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
 sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
 sFilterConfig.FilterIdHigh = 0x0000;
 sFilterConfig.FilterIdLow = 0x0000;
 sFilterConfig.FilterMaskIdHigh = 0x0000;
 sFilterConfig.FilterMaskIdLow = 0x0000;
 sFilterConfig.FilterFIFOAssignment = 0;
 sFilterConfig.FilterActivation = ENABLE;
 sFilterConfig.BankNumber = 14;

最新更新