本帖最后由 xiaoxiao0932 于 2016-9-20 21:23 编辑 最近要在STM32F476NG上启用CAN通信功能,板子上有两路CAN ;在使用CAN1的时候跑CAN_Loopback例程收发测试正常通过,但是CAN2在跑CAN_Loopback例程时,发送可以通过,无法接收;同样在跑CAN_Networking例程CAN2同样也是无法接收到数据,个人感觉是CAN2的设置有什么特别的要求,查看了数据手册也没有发现特别的地方,有没有跟我一样遇到相同问题的啊?大神求帮助啊!!!!!!!!!!!!!!!!!!!!!! void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef *CanHandle) { if ((CanHandle->pRxMsg->StdId == 0x321) && (CanHandle->pRxMsg->IDE == CAN_ID_STD) && (CanHandle->pRxMsg->DLC == 2)) { LED_Display(CanHandle->pRxMsg->Data[0]); ubKeyNumber = CanHandle->pRxMsg->Data[0]; } /* Receive */ if (HAL_CAN_Receive_IT(CanHandle, CAN_FIFO0) != HAL_OK) { /* Reception Error */ Error_Handler(); } } 可以进接收中断,可是只能进一次。。。。。。。 这个接收中断不需要清除标志位什么的吗》》? 使用CAN2时 1、__HAL_RCC_CAN1_CLK_ENABLE(); 使能CAN1的时钟 2、将 sFilterConfig.FilterNumber = 14; |
STM32F407 定时器触发DMA 求助大神
【MCU实战经验】基于STM32F407的音频播放器设计
盘古UE-STM32F407工控板原理图
【STM32F429心得\疑问】+STM32F4之FSMC和FMC
STM32F429读取IO口传输的数据速率
STM32F407ZGT6 手摸芯片背部重启
STM32F4 SPI 动作时,软件片选信号被拉高,IO口程序逻辑失控
STM32F401RE NUCLEO求助,串口一直不能进中断
读取STM32F407内部温度传感器值错误
STM32F429多路内部ADC独立采集的办法
1、__HAL_RCC_CAN1_CLK_ENABLE();
使能CAN1的时钟
2、将 sFilterConfig.FilterNumber = 14;
经过这两步使用CAN2跑CAN_Loopback例程可以通过了,但是跑CAN_Networking例程CAN2还是无法接收到数据
可以进接收中断,可是只能进一次。。。。。。。
这个接收中断不需要清除标志位什么的吗》》?
问题解决了,在中断中调试时,误将延时函数拷贝进去了,删除就没问题了
评分
查看全部评分