各位高手您好! 现在我移植canopen到stm32f4 上,发现远程帧接收不了,采用中断方式接受。FIFO0如果有数据,中断就可以执行了。但是现在我的远程帧没有数据域,所以也没有FIFO0 不为空中断,现在不知道怎么读取远程帧,请各位高手指教!谢谢! 带数据的数据帧通信正常!
hcan2.pTxMsg = &TxMessage;
hcan2.pRxMsg = &RxMessage;
hcan2.Instance = CAN2;
hcan2.Init.Mode = CAN_MODE_NORMAL;
hcan2.Init.SJW = CAN_SJW_1TQ;
hcan2.Init.BS1 = CAN_BS1_3TQ;
hcan2.Init.BS2 = CAN_BS2_2TQ;
hcan2.Init.TTCM = DISABLE;
hcan2.Init.ABOM = DISABLE;
hcan2.Init.AWUM = DISABLE;
hcan2.Init.NART = DISABLE;
hcan2.Init.RFLM = DISABLE;
hcan2.Init.TXFP = DISABLE;
hcan2.Init.Prescaler =7;//6;
远程帧(遥控帧)不知道怎么接收 ,在芯片手册上面也没有看到标志位!
can中断 无法接受吗? 不管是远程帧 还是 数据帧 接受就有中断啊?
远程帧的标志位是哪一位,谢谢!
接收规则,我仔细看了没有发现怎么实现,请说明白一点谢谢!!!
远程帧我测试的没有中断,不知道怎么设置,应该和数据帧不一样。
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.FilterIdHigh = 0x0000;
sFilterConfig.FilterIdLow = 0x0000;
sFilterConfig.FilterMaskIdHigh = 0x0000;
sFilterConfig.FilterMaskIdLow = 0x0000;
滤波器配置
把初始化函数贴出来看看。