个人纪录—7300 CAN模块Mcal配置

在配置CAN模块前要明白简单的CAN驱动关键词

①Can Controller :CAN物理层次的外设,连接Tx和Rx

②Can Hardware Unit :1个Can Hardware可以包含多个Can Controller,它表示Can驱动

③L-PDU :由CANID、DLC、Data三部分组成

④L-SDU : L-PDU中Data部分

⑤Hardware Object :P-DUR buffer

开配

1.常规配置

2.添加一个Can Controller

3.Can Controller常规配置

①优先配置波特率

波特率详细计算不介绍,可反推速记 BaudRate =  时钟源 /(Prescaller x Tq number)

采样点 = (Synchronization Segment + Propagation Segment  +  Phase Segment 1)/ Tq number

②常规配置

4.配置HRH与HTH

basic can 与 full can是相对于上层来讲的,full can只能收发固定id的报文,basic can可接受全部,也可设置滤波只接受固定范围id或固定id,具体看下文

滤波由两个重要参数组成Filter Code 与 Filter Mask ,两者关系为 ID & Filter mask = Filter Code ,求掩码看重不重要,1表示重要,0表示不重要。例如id范围为0x600-0x67f

①第一位 6 -0110每一位都关心,故Filter mask为111=7,Filter Code为0110 = 6

②第二位 0~7 - 0000~0111,只关心第一位必须为0,所以Filter mask为1000=8,因为第一位必须为0,所以&操作后Filter Code第一位必须为0,其他位也为0,所以Filter Code 为0000=0

③第三位0~F - 0000~1111,这四位都不关心,所以Filter mask 为0000=0,Filter Code也为

0000 = 0

所以 Filter mask = 0x780,Filter Code = 0x600

至此,can模块mcal配置完成

5.配置中断并使能,初始化can模块 收发消息

注意,为了方便,调用了Can_Hw_GetMbMsg()接口直接读取mb中的数据,第一个参数为未抽象化后的外设编号

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痛苦快乐着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值