你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32关于CAN模块

[复制链接]
隐者-423522 提问时间:2014-11-6 14:44 /


之前用的LPC和LM3S系列对于CAN模块都有32个报文对象(message objects),每个报文对象具有标识符屏蔽。
而STM32的CAN模块,有14个滤波器组(filter banks),是否等同报文对象的作用呢? 使用时有什么区别?


另外STM32的 3个发送邮箱(mailboxes)是否与LPC和LM3S系列的CAN接口寄存器(CAN register interface)一个意思呢?




收藏 评论3 发布时间:2014-11-6 14:44

举报

3个回答
时光碎了天 回答时间:2014-11-6 16:26:11
这个我不是很清楚,可以上网去查下的
回答时间:2014-11-7 09:13:57
3个发送邮箱应该理解是有3个可以用来做发送的数据缓冲,过滤器也就是掩码寄存器用来设置只接收哪些ID的数据,比如,你只希望接收广播的0X18000001的数据,这个时候就要设置掩码寄存器来实现。
隐者-423522 回答时间:2014-11-7 09:52:04
直接用库函数,不用管寄存器定义。
发送:直接丢数据到CAN_Transmit(); 然后去判断一下邮箱是否发完。
接收:先CAN_FilterInit( );  滤波器组指向FIFO0或1,通过中断CAN_GetITStatus()判断FIFO0,1是否接收到数据,再CAN_Receive()去读。
就是不知道滤波器组是否只是判断接收ID用的,还是能够暂存接收到的报文呢? 怕3组FIFO没来及处理,会不会丢包呢。。。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版