介绍
针对客户的开发需求,基于Keil的开发环境,使用RA6M4开发板,通过配置RASC设置相关配置,实现CAN通信功能。
硬件准备
准备一块RA6M4开发板(CPK-RA6M4),芯片是用R7FA6M4AF3CFB,主频200MHz,Pin脚是144pin,1MB内存的,如下图所示。
软件部分
1
打开RASC.EXE文件
2
填写工程名称和工程的保存位置,注意路径中不要包含中文和空格,点击Next。
3
RASC支持IAR和Keil,在IDE Project Type选择Keil,选择芯片对应型号,点Next。
4
选择工程模板,具体如下图,确认无误点击Finish。
5
工程新建完成后,出现下图界面,此时可以确认一下自己的配置信息是否正确。
6
打开Stacks,添加相关的代码模块。点击New Stack-Connec[](https://www.elecfans.com/tags/ti/)TIvity-CAN。
7
添加完成后,单击CAN模块。再点击ProperTIes打开配置界面,设置name,选择通道、ID模式,设置CAN中断回调函数名称。
8
打开Pins,选择Peripherals-ConnecTIvity:CAN-CAN1,使能,配置引脚。
9
配置完成后点击右上角的三角按钮(Generate Project Content),关闭RASC再打开Keil生成的工程项目.
10
打开Keil-Customize Tools Menu,在Command设置RASC的路径,在IniTIal Folder填写P,在Arguments写入--device D --compiler ARMv6 configuration.xml。
11
如果需要打开RASC进行重新配置,需要在Keil的界面点击Tools-RA Smart Configurator。
12
打开hal_entry.c,找到可以添加自己代码的地方,添加相应的应用函数
13
定义相关的回调函数。
14
定义CAN发送和接收的数据格式。
15
定义发送和接收的数据,设置发送的ID、数据格式、数据长度,初始化CAN。
16
在r_can_api.h文件中,添加一个指向接收数据的指针。
17
在CAN的回调函数中,添加读取接收到的数据,然后发送数据,并打上断点,如果进入断点则说明已经接收到数据。
18
在r_can.c的文件中的can_rx_isr(void)函数中修改以下代码。
19
在CAN分析仪中,发送扩展帧,帧ID为00 00 00 01,数据为00 01 02 03 04 05 06 07,如果程序进入中断,则说明已经接收到数据,然后再发送数据给CAN分析仪。
20
程序进入中断,可以看到接收到的数据。
21
继续运行程序,可以看到CAN分析仪已经接收到数据。
22
说明CAN通信功能已经可以正常使用了。
结论
以上就是根据客户开发需求,实现CAN通信功能,通过该项目可以学会使用RASC在Keil环境下的新建项目如何配置一个新的外设,如何调取相应的函数库,以及如何基于RASC进行应用开发。