提交 04658b9f 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #689 from AubrCool/fix-bxcan.ide.frm.fltr.err

[BSP] stm32f10x bxcan correct ext frame filter
...@@ -1008,10 +1008,20 @@ static rt_err_t bxmodifyfilter(struct stm_bxcan *pbxcan, struct rt_can_filter_it ...@@ -1008,10 +1008,20 @@ static rt_err_t bxmodifyfilter(struct stm_bxcan *pbxcan, struct rt_can_filter_it
} }
break; break;
} }
CAN_FilterInitStructure.CAN_FilterIdHigh = ((ID[1]) & 0x0000FFFF); if(pitem->ide)
CAN_FilterInitStructure.CAN_FilterIdLow = ID[0] & 0x0000FFFF; {
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = (ID[1] & 0xFFFF0000) >> 16; CAN_FilterInitStructure.CAN_FilterIdHigh = (ID[0] & 0xFFFF0000) >> 16;
CAN_FilterInitStructure.CAN_FilterMaskIdLow = (ID[0] & 0xFFFF0000) >> 16; CAN_FilterInitStructure.CAN_FilterIdLow = ID[0] & 0x0000FFFF;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = (ID[1] & 0xFFFF0000) >> 16;
CAN_FilterInitStructure.CAN_FilterMaskIdLow = ((ID[1]) & 0x0000FFFF);
}
else
{
CAN_FilterInitStructure.CAN_FilterIdHigh = ((ID[1]) & 0x0000FFFF);
CAN_FilterInitStructure.CAN_FilterIdLow = ID[0] & 0x0000FFFF;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = (ID[1] & 0xFFFF0000) >> 16;
CAN_FilterInitStructure.CAN_FilterMaskIdLow = (ID[0] & 0xFFFF0000) >> 16;
}
if (fbase >= pbxcan->fifo1filteroff) if (fbase >= pbxcan->fifo1filteroff)
{ {
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 1; CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册