我正在使用STM32F303K8的罐头。我可以发送数据,但不能接收数据;函数HAL_CAN_Receive()返回HAL_TIMEOUT。我正在用1M和32时钟工作。谁能告诉我如何使用HAL_CAN_Receive()接收数据
发布于 2017-04-30 03:32:25
为了在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;https://stackoverflow.com/questions/43666712
复制相似问题