网上的好教程
STM32 CAN过滤器详解 CAN_Filter_Test…keil STM32 CANFD 基础知识 STM32H743 FDCAN双CAN过滤表设置
“IDMASK模式”我没见过啊?
其实就是“掩码模式”“MASK”“标识符屏蔽模式”“屏蔽模式”,叫法不一样而已 STM32 CAN过滤器详解
上文F4的FxR1和FxR2到底咋用?对应H750Vb呢?
对应H7fdcan
这篇文章教会我:要自己看手册
//
//
1
F4的“SlaveStartFilterBank“是啥?H7没有啊?
// STM32 CAN调试小记; //
//
关于assert(filteriIdex<=filterNbr-1U)的两个疑惑
1:已解答 2:【】
can1,2 的filerIndex都为0,滤波器索引不是重复了吗?【】
【】
两个FIFO能同时使用吗?【】
filterNbr和filterindex到底是啥?
fifio队列到底是啥?【】
发送时没有fifo0 fifo1而是一个队列吗?
—不是,可以自己选择时fifo还是queue,但确实只有一个fifo缓冲区,见图4
1: 2: 3:
4:重点: 5:
看来是我要从发送缓冲区中选择发送fifo的大小,0~32个元素; can1,2公用一个发送fifo吗?还是自动分配?总大小不能超过32个吗?【】 —应该是的,接收时也没有区分can1,2
事件FIFO到底是啥?【】
接收FIFO元素的单位大小,64个元素0~1152words一帧最大64byte,所以一个FIFOelement到底是多大?【】
但是FIFO到底该选多大?选多少?【】
理解总结:
can有128个过滤器,假如我都用列表模式,则最多可以绿出2*128个id,假如用掩码模式就很多了; 掩码模式仅仅比较mask中0位与验证码是否一样,mask为1位即使不一样也不会阻拦; 如果一个过滤器都不用的话就令filterNbr=0数量为0,filterIndex=0不为0好像不符合assert,然后fiterID1,2全写0,感觉随便写就行吧,反正一个都没用; Nbr是要用几个过滤器,Nbr=4就开启0~3过滤器; stm32里的number都是指数量,index是指编号,网上有些资料胡写,但查看参考手册就知道了。 Buffer和fifo0,fifo1是并列关系,但一般用fifo;
|