金冠北京赛车走势图: [技术问答] 关于CAN FILTER配置的提问

永利游戏开户直营
370|6
楼主
对于AC78XX系列   CAN拥有 16 个独立可编程的内部 29 位接收滤波器 具体怎么配置这16个过滤器  参考手册上没有这么多过滤器的地址 这个配置的流程可否详细说明一下

微信截图_20191102103021.png (76.72 KB, 下载次数: 3)

微信截图_20191102103021.png

微信截图_20191102103356.png (130.5 KB, 下载次数: 2)

微信截图_20191102103356.png

微信截图_20191102103732.png (40.79 KB, 下载次数: 2)

微信截图_20191102103732.png
沙发
| 2019-11-2 14:10 | 只看该作者
1)  BIT和REG是什么关系:同一联合体内的不同寻址计算方式。

2)  是如何完成16个过滤器的配置的?这只能说是我的猜测了:MCU内部有影子寄存器(是一个数组,通过index和selmask偏移定位)。当CAN处于RESET状态时,索引值写入ACFCTRL并向ACF赋值后,将立即被影子寄存器接收。CAN_Init里面循环16次调用过滤器设置函数,就是在做这个工作。CAN运行后,真正起作用的是过滤器的影子寄存器(也取决于ACF_EN位)。再说一遍,目前没看到这方面资料,这只是我的猜测,说错了不要鄙视。

板凳
 楼主 | 2019-11-4 08:53 | 只看该作者
lihuasoft 发表于 2019-11-2 14:10
1)  BIT和REG是什么关系:同一联合体内的不同寻址计算方式。

2)  是如何完成16个过滤器的配置的?这只能说 ...

感谢提供一个思考的方向  等待官方说出真相
地板
| 2019-11-4 16:26 | 只看该作者
戊戌变法 发表于 2019-11-4 08:53
感谢提供一个思考的方向  等待官方说出真相

和2楼说的差不多,具体芯片内部的工作不是很清除,虽然16个过滤器设置的是同一个地址,但寄存器是不同的,至于指向哪个寄存器就是通过ACFADR和SELMASK来确定,这种方式在一些其他芯片中应该也是可以找到类似的用法,配置流程的话可以参考驱动包,只是应用的话可以参考应用例程里的can例程,我们有提供一个过滤的数组。你可以按自己的需要填写。但有个前提,因为CAN接收必须要通过过滤通道,所以至少要打开一个通道。http://www.ib955.com/icview-2838058-1-2.html,可以参考里面的can_basic代码
5
 楼主 | 2019-11-5 09:43 | 只看该作者
不要沉 有没有 官方大佬解释一下
6
| 2019-11-5 11:32 | 只看该作者
戊戌变法 发表于 2019-11-5 09:43
不要沉 有没有 官方大佬解释一下

第一个问题:BIT和REG都是联合体下面的成员变量,金冠北京赛车走势图:起始地址相同。REG定义了每个寄存器,BIT定义的每个寄存器中的功能位。所以,如果直接操作寄存器中的某个功能位就使用CANx>BIT.xx,如果是操作整个寄存器就使用CANx->REG.xx。
第二个问题:写寄存器ACFCTRL选择写CODE还是写MASK,如果ACFCTRL中的SELMASK为0就是写CODE,为1则写MASK,ACFADR则是指明写16个CODE或MASK寄存器的索引。写的CODE或MASK是同一个寄存器,硬件上自动根据前面的配置进行内部配置。对于我们来说,明白去如何配置Code或Mask即可。
7
| 2019-11-5 11:32 | 只看该作者
支持一下,希望有大神给予解答
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
永利游戏开户直营 盛源彩票正规 蒙特卡罗娱乐DS太阳城棋牌 永利游戏开户直营 澳门赌场洗白网上娱乐场
皇家皇家六合彩官网 尊尚娱乐沙龙国际登入 淘金快乐十分网址 华信国际娱乐城电子游戏 菲律宾申博上海时时乐彩票
淘金江苏骰宝(快3)时时彩开奖记录 奥斯卡江苏快三彩票官网 皇家赌场天津时时彩计划群大全 申博官方网手机APP下载登入 彩99官网开户官方网
现金巴士官网登入 维多利亚快3彩票官网 永利娱乐官网直营网登入 皇家赌场AB亚洲馆开奖号历史 菲律宾申博BBIN波音馆时时彩平台怎么样