基于RA6M4开发板的CAN通信功能

接口/总线/驱动

51人已加入

描述

介绍

针对客户的开发需求,基于Keil的开发环境,使用RA6M4开发板,通过配置RASC设置相关配置,实现CAN通信功能。

硬件准备

准备一块RA6M4开发板(CPK-RA6M4),芯片是用R7FA6M4AF3CFB,主频200MHz,Pin脚是144pin,1MB内存的,如下图所示。

RA6M4

软件部分

1

打开RASC.EXE文件

RA6M4

RA6M4

2

填写工程名称和工程的保存位置,注意路径中不要包含中文和空格,点击Next。

RA6M4

3

RASC支持IAR和Keil,在IDE Project Type选择Keil,选择芯片对应型号,点Next。

RA6M4

4

选择工程模板,具体如下图,确认无误点击Finish。

RA6M4

5

工程新建完成后,出现下图界面,此时可以确认一下自己的配置信息是否正确。

RA6M4

6

打开Stacks,添加相关的代码模块。点击New Stack-Connectivity-CAN。

RA6M4

7

添加完成后,单击CAN模块。再点击Properties打开配置界面,设置name,选择通道、ID模式,设置CAN中断回调函数名称。

RA6M4

8

打开Pins,选择Peripherals-Connectivity:CAN-CAN1,使能,配置引脚。   

RA6M4

9

配置完成后点击右上角的三角按钮(Generate Project Content),关闭RASC再打开Keil生成的工程项目.

RA6M4

 

RA6M4

10

打开Keil-Customize Tools Menu,在Command设置RASC的路径,在Initial Folder填写$P,在Arguments写入--device $D --compiler ARMv6 configuration.xml。

RA6M4

11

如果需要打开RASC进行重新配置,需要在Keil的界面点击Tools-RA Smart Configurator。

RA6M4

12

打开hal_entry.c,找到可以添加自己代码的地方,添加相应的应用函数

RA6M4

13

定义相关的回调函数。

RA6M4

14

定义CAN发送和接收的数据格式。

RA6M4

15

定义发送和接收的数据,设置发送的ID、数据格式、数据长度,初始化CAN。

RA6M4

16

在r_can_api.h文件中,添加一个指向接收数据的指针。

RA6M4

17

在CAN的回调函数中,添加读取接收到的数据,然后发送数据,并打上断点,如果进入断点则说明已经接收到数据。

RA6M4

18

在r_can.c的文件中的can_rx_isr(void)函数中修改以下代码。

RA6M4

 

RA6M4

19

在CAN分析仪中,发送扩展帧,帧ID为00 00 00 01,数据为00 01 02 03 04 05 06 07,如果程序进入中断,则说明已经接收到数据,然后再发送数据给CAN分析仪。

RA6M4

20

程序进入中断,可以看到接收到的数据。

RA6M4

21

继续运行程序,可以看到CAN分析仪已经接收到数据。

RA6M4

22

说明CAN通信功能已经可以正常使用了。

结论

以上就是根据客户开发需求,实现CAN通信功能,通过该项目可以学会使用RASC在Keil环境下的新建项目如何配置一个新的外设,如何调取相应的函数库,以及如何基于RASC进行应用开发。

编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分