stm32f4105 can2远程帧接收不了

2019-07-14 13:28发布

各位高手您好!
   现在我移植canopen到STM32f4 上,发现远程帧接收不了,采用中断方式接受。FIFO0如果有数据,中断就可以执行了。但是现在我的远程帧没有数据域,所以也没有FIFO0 不为空中断,现在不知道怎么读取远程帧,请各位高手指教!谢谢!

带数据的数据帧通信正常!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
jr3367
1楼-- · 2019-07-16 07:07
远程帧的作用是向其他节点请求数据,设置时要注意ID是目标报文的ID,验收滤波也要相应设置。
zhouxk
2楼-- · 2019-07-16 07:42
ewtywtwy 发表于 2019-3-25 19:07
把初始化函数贴出来看看。

  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;
zhouxk
3楼-- · 2019-07-16 13:01
jr3367 发表于 2019-3-25 19:23
远程帧的作用是向其他节点请求数据,设置时要注意ID是目标报文的ID,验收滤波也要相应设置。

能具体点吗,“验收滤波也要相应的设置” 怎么实现?现在滤波没有作用,接收处理是通过接收中断,软件处理遥控帧。
TOPCB
4楼-- · 2019-07-16 17:27
用标准帧和扩展帧先测试收发没有问题,再测试远程帧,远程帧测试时,可以先测试发送,让接收器接收。
zhouxk
5楼-- · 2019-07-16 23:07
TOPCB 发表于 2019-3-25 20:09
用标准帧和扩展帧先测试收发没有问题,再测试远程帧,远程帧测试时,可以先测试发送,让接收器接收。

已经测过,标准和扩展都测试过,远程帧发送也测试过。就是接收不到,是不是stm32一个硬bug?
zhouxk
6楼-- · 2019-07-16 23:31
 精彩回答 2  元偷偷看……

一周热门 更多>