uint32_t Receive_CAN_number;//接收到的数据帧数 void CAN1_RX0_IRQHandler(void) //100ms 50ms不会丢数 20ms左右就开始丢数据了 { { CAN_Receive(CAN1,CAN_FIFO0, &RxMessage); Receive_CAN_number++; printf("\n\rCAN1接收数据帧数%d",Receive_CAN_number); } void CAN1_RX0_IRQHandler(void) //100ms 50ms 不会丢数 20ms左右就开始丢数据了 { while(CAN_MessagePending(CAN1,CAN_FIFO0)>=1) //接收前加了判断,还是依然掉数据 { CAN_Receive(CAN1,CAN_FIFO0, &RxMessage); Receive_CAN_number++; printf("\n\rCAN1接收数据帧数%d",Receive_CAN_number); } } CAN通信波特率设置为1M. 小弟 做汽车电子的,现在需用到ST的CAN模块,电脑端用周立功的CAN接口卡发送数据,与ST开发板通信成功,但是在CAN数据帧间隔周期很短的情况下,会出现数据帧丢失,为了屏蔽我的其他程序错误,我在CAN接收中断里只做了数据帧接收,打印数据帧的数量,通过发送1000帧数据,测试每隔100ms,50ms 发送数据,不会丢失,串口能打印出帧数位1000帧,但是如果为10ms,则只能接收431帧数据,如果为20ms,则能结束849帧数据. STM32的CAN模块接收数据帧的间隔最小究竟能设置为多小??? |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程