野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5905|回复: 5

关于CAN章节中筛选器的疑问

[复制链接]
发表于 2017-12-18 18:34:36 | 显示全部楼层 |阅读模式
就是关于过滤器部分的一个问题。感觉教程上说的16位的掩码模式和官方手册的图有些不一样,所以我不知道哪个才是对的。我分别放一下教程和官方手册的图。首先从图一中,可以看到,结构体成员
CAN_FilterIdHigh是CAN_FxR1 寄存器的高16位,
CAN_FilterIdLow是CAN_FxR1 寄存器的低16位,
CAN_FilterMaskIdHigh是CAN_FxR2 寄存器的高16位,
CAN_FilterMaskIdLow是CAN_FxR2 寄存器的低16位。

然后我对照教程的那个总结表与官方手册的表,发现32位列表模式,32位掩码模式和16位列表模式都是可以对应的上的。但是唯独16位的掩码模式对应不上。
按照官方手册的图来看,CAN_FilterIdLow存储的应该是ID1的完整数值,而CAN_FilterIdHigh存储的应该是ID1掩码的完整数值。而CAN_FilterMaskIdLow存储的应该是ID2的完整数值,CAN_FilterMaskIdHigh存储的应该是ID2掩码的完整数值。
这和教程中手册所介绍的CAN_FilterIdHigh存储的是ID1的完整数值,CAN_FilterIdLow存储的是ID2的完整数值,CAN_FilterMaskIdHigh存储的是ID1掩码的完整数值,CAN_FilterMaskIdLow存储的是ID2掩码的完整数值存在矛盾。然后考虑到可能教程内容太多,存在排版或者误写错误(因为前面的章节也出现了误写问题,内容这么多,难免出现的,可以理解),我又把教程配套的视频看了两遍,但是视频中介绍的和教程中是一样的,和官方手册的图存在矛盾。
所以我现在就很困惑,16位掩码模式时,CAN_FxR1 寄存器和CAN_FxR2 寄存器正确存放的数值是按照教程的,还是官方的?教程和官方存在不同,所以我不知道哪个才是对的。。。不知道哪位可以解答一下我的这个问题,十分感谢!然后CAN通信这章的视频声音和其它视频声音不同,是不是这章不是火哥讲的呀?
1.jpg
2.jpg
3.jpg
回复

使用道具 举报

发表于 2017-12-19 08:50:21 | 显示全部楼层
就是按第二幅图那个表来处理,这些结构体成员不是严格对应到第一幅图注释里的寄存器的,在函数里会根据不同模式存储到不同的位置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-19 14:18:44 | 显示全部楼层
flyleaf 发表于 2017-12-19 08:50
就是按第二幅图那个表来处理,这些结构体成员不是严格对应到第一幅图注释里的寄存器的,在函数里会根据不同 ...

原来是这样呀,我就在想是不是程序源码里面有不同的配置,但是又不太想看源码,感觉有点费劲。。。谢谢你的回答!每次都是你来解答我的困惑,十分感谢呀!请问该怎么称呼?飞叶吗?
回复 支持 反对

使用道具 举报

发表于 2017-12-19 16:11:40 | 显示全部楼层
huzhu 发表于 2017-12-19 14:18
原来是这样呀,我就在想是不是程序源码里面有不同的配置,但是又不太想看源码,感觉有点费劲。。。谢谢你 ...

是啊,这个地方真的是很麻烦的,而且有点别扭,当时就是看init函数对这两个成员的配置才总结到这个表。
是飞叶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-19 18:12:18 | 显示全部楼层
flyleaf 发表于 2017-12-19 16:11
是啊,这个地方真的是很麻烦的,而且有点别扭,当时就是看init函数对这两个成员的配置才总结到这个表。
...

这样呀,这节课的视频难道是你讲的吗?fire打字用的是拼音,而CAN这章的视频打字用的是五笔打字。肯定不是同一个人
回复 支持 反对

使用道具 举报

发表于 2018-8-21 18:40:17 | 显示全部楼层
我的发送到调试助手显示字符怎么是乱码?不是汉字。有时候汉字多了,出三个错误,怎么解决
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-3-29 18:20 , Processed in 0.036057 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表