基于RT1052 Aworks使能CAN总线(十一)

本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发

前置知识,首先要can总线协论的相关知识,然后知道上层接口如何访问,比如linux下使用socket can接口对can 总线进行操作。针对aworks本身也有相关的样例可供参数。
CAN相关理论知识可参考:
https://www.cnblogs.com/lianghong881018/p/10026720.html

1. 首先阅读原理图


阅读TAJ1043的数据手册之后,想进行正常的CAN数据收发,需要通过相关的IO控制CAN收发器进入正常的工作模式即可通过CAN总线发出数据。

2. 设备资源及驱动适配

2.1 设备资源的注册

硬件上使用第二路CAN总线
在awbl_hwconf_flexcan2.h已有现成的样例,如果确认CAN收发的引脚一致就不必进行修改。

2.2 设备驱动的注册

在aw_prj_config.c文件当中

#ifdef AW_DRV_IMX1050_CAN
    awbl_imx10xx_flexcan_drv_register();
#endif

2.3 设备宏开关

只需要在aw_prj_params.h打开如下定义

aw_prj_params.h

#define AW_DEV_IMX1050_CAN2

即可注册相关的设备资源与设备驱动。

aw_prj_param_auto_cfg.h

#if defined AW_DEV_IMX1050_CAN1 || \
    defined AW_DEV_IMX1050_CAN2

#define AW_DRV_IMX1050_CAN

#endif

一旦使能宏开关AW_DRV_IMX1050_CAN,对应的驱动就会被选上。

3. 如何测试

使用SDK自带的测试样例demo_can_send_simple.c即可进行测试
需要在使能相应的CAN总线,对CAN收发器进行初始化,如下所示。
在这里插入图片描述

4. 总结

在上层使用CAN接口编程时,需指定对应的CAN总线通道。

#define  __CAN_CHN   1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵌入式实操

希望博文有助于您,您不必加班。

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

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

打赏作者

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

抵扣说明:

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

余额充值