abclsl 发表于 2015-11-23 14:37:00

安臣 发表于 2015-11-23 10:16
有人。 只是canopen 没怎么玩过   帮顶。

can中断 无法接受吗?不管是远程帧 还是 数据帧接受就有中 ...

远程帧我测试的没有中断,不知道怎么设置,应该和数据帧不一样。

abclsl 发表于 2015-11-23 15:06:57

本帖最后由 abclsl 于 2015-11-23 20:17 编辑

sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.FilterIdHigh = 0x0000;
sFilterConfig.FilterIdLow = 0x0000;
sFilterConfig.FilterMaskIdHigh = 0x0000;
sFilterConfig.FilterMaskIdLow = 0x0000;
滤波器配置

abclsl 发表于 2015-11-23 18:34:57

can的配置,但是如果有数据确实能进入中断,但是没有数据就进不了中断,所以遥控帧接收不了,请高手指教,急! 会不会我的芯片买假了

lyp05401 发表于 2015-11-24 08:50:07

abclsl 发表于 2015-11-23 13:57
接收规则,我仔细看了没有发现怎么实现,请说明白一点谢谢!!!

把初始化函数贴出来看看。

zhoupxa 发表于 2015-11-24 09:03:13

远程帧的作用是向其他节点请求数据,设置时要注意ID是目标报文的ID,验收滤波也要相应设置。

abclsl 发表于 2015-11-24 13:02:33

lyp05401 发表于 2015-11-24 08:50
把初始化函数贴出来看看。

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;

abclsl 发表于 2015-11-24 13:12:13

zhoupxa 发表于 2015-11-24 09:03
远程帧的作用是向其他节点请求数据,设置时要注意ID是目标报文的ID,验收滤波也要相应设置。 ...
能具体点吗,“验收滤波也要相应的设置” 怎么实现?现在滤波没有作用,接收处理是通过接收中断,软件处理遥控帧。

发表于 2015-11-24 16:37:50

用标准帧和扩展帧先测试收发没有问题,再测试远程帧,远程帧测试时,可以先测试发送,让接收器接收。

abclsl 发表于 2015-11-25 08:59:20

安 发表于 2015-11-24 16:37
用标准帧和扩展帧先测试收发没有问题,再测试远程帧,远程帧测试时,可以先测试发送,让接收器接收。 ...

已经测过,标准和扩展都测试过,远程帧发送也测试过。就是接收不到,是不是stm32一个硬bug?

abclsl 发表于 2015-11-25 09:00:12

安 发表于 2015-11-24 16:37
用标准帧和扩展帧先测试收发没有问题,再测试远程帧,远程帧测试时,可以先测试发送,让接收器接收。 ...

标准或者扩展只要带数据都是没有问题的,都能接收到!
页: 1 [2] 3
查看完整版本: stm32f4105 can2接收远程帧问题