• 基于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
    
  • 相关阅读:
    感悟.
    近期感悟
    android 新建项目无法自动生成R文件
    重装后各种碰壁
    rhapsody
    libevent
    ui android需要解决的问题
    sql对xml的解析
    将datarow转换为实体的方法
    网页中的一些我不熟的东西
  • 原文地址:https://www.cnblogs.com/lianghong881018/p/15169473.html
Copyright © 2020-2023  润新知