EB配置MCAL的CAN模块

本文详细介绍了如何在S32K312开发板上配置CAN模块,包括Port、Can_43_FLEX、Canif等模块的设置,以及如何使用S32DS编写发送函数和借助USB_CANTooL进行报文收发。内容涉及波特率计算、邮箱配置和中断管理,为基于Autosar8架构的项目打下了基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

基于S32K312开发板进行配置CAN模块的收发功能。
需要的工具有:EB、S32DS、USB_CAN TooL
其中USB_CAN是进行CAN报文接收和发送的工具。
EB需要的模块有:
1.Port模块:配置can的接收和发送IO,拉高STB和EN脚
2.Can_43_FLEX模块:配置Can的收发邮箱和端口信息等
3.Canif模块:配置Can的驱动层
4.Ecuc和EcuM模块:配置相关所需配置
5.MCU和Platform模块:使能相关中断
下面是各个模块的相应的配置

1 Port模块

使用的是S32K312,只有Can0才有收发器,下面是相关引脚图。
在这里插入图片描述
所以EB的Port配置如下图
在这里插入图片描述
找到相应的引脚,并按照下图配置
在这里插入图片描述
其中STB和EN是控制CAN收发器的模式,两者都高即为正常收发模式。

2. Can_43_FLEX模块

选择模式VariantPreCompile,方便初始化
这里只需要配置两个选项即可,分别为CanController和CanHardwareObject

CanController选项

在这里插入图片描述
相关can的波特率设置
在这里插入图片描述
在这里可以通过计算相应的系数得到相应的can通信波特率。

CanHardwareObject选项

在这里可配置收发邮箱,如下图,
在这里插入图片描述
进入Can_0_RX,设置接收的信号段(每两组)
在这里插入图片描述

3.Canif模块

只需要添加这个模块即可
在这里插入图片描述

4…EcuC和EcuM模块

EcuM

在这里插入图片描述

EcuC

在这里插入图片描述

5.Mcu和Platform模块

Platform

在这里插入图片描述

Mcu

使能相应的FLEXCAN模块。

6.S32DS代码

构造can的发送函数,下面是can.c和can.文件

can.c文件

#include "can.h
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值