|
各位大佬,在作 stm32h7 can功能调试是有点疑问,暂时没在到根据,
应为我用的场景是 can1 can2都开启了,所以希望当前can1,can2的ram 平分。
1:网上基本查到can2的
RAMOffset应如下设置, 实际测试 RAMOffset = 0x600, 怎么不是 2560*4/2 的平分呢?FDCAN2_Handler.Init.MessageRAMOffset = FDCAN1_Handler.msgRam.EndAddress-SRAMCAN_BASE
2:还有一个细节。 64个过滤器我也想平分
除了RAMOffset需要注意外,下面的
FDCAN2_Handler.Init.ExtFiltersNbr 必须赋值为64,系统数据进入才ok,
没有找到 FDCAN2_Handler.Init.ExtFiltersNbr 必须赋值为64的依据
////////////////////////////////////////////////////////////////////////
FDCAN1_Handler.Init.ExtFiltersNbr = 32,
FDCAN1_Handler.Init.RxFifo0ElmtsNbr = 0,
FDCAN1_Handler.Init.RxFifo0ElmtSize = FDCAN_DATA_BYTES_8,
FDCAN1_Handler.Init.RxFifo1ElmtsNbr = 32,
FDCAN1_Handler.Init.RxFifo1ElmtSize = FDCAN_DATA_BYTES_8,
FDCAN2_Handler.Init.ExtFiltersNbr = 64,
FDCAN2_Handler.Init.RxFifo0ElmtsNbr = 0,
FDCAN2_Handler.Init.RxFifo0ElmtSize = FDCAN_DATA_BYTES_8,
FDCAN2_Handler.Init.RxFifo1ElmtsNbr = 32,
FDCAN2_Handler.Init.RxFifo1ElmtSize = FDCAN_DATA_BYTES_8,
////////////////////////////////////////////////////////////////////////
|
|