瑞萨单片机论坛
直播中

meiyaolei

13年用户 435经验值
擅长:测量仪表,连接器,EMC/MEI设计,处理器/DSP,接口/总线/驱动,控制/MCU
私信 关注
[经验]

【RA4M2设计挑战赛】+环境配置与点灯+按键

拿到板子有一些时间了,一直在忙其它的项目,没有来的及时间来弄这个,今天开始第一篇。

开发平台:MDK5和rasc

注意要使用MDK5以上的版本

环境配置:

首先要上传两个非常重要的压缩包,免的大家到处找,麻烦。

要用KEIL开发

*附件:Renesas.RA_DFP.4.0.0.rar

特别要注意的是如果这个PACK双击无法安装,弹出如下错误:

image.png

直接拖动到pack installer中

image.png

相关的资料请在百度网盘中下载。https://pan.baidu.com/s/1I38O1_oX4cPG5hpMqfnrxQ

提取码: sfra

请安装下面这个文件中的软件:

setup_fsp_v3_0_0_rasc_v2021-04

下面上传一个配置步骤:

*附件:RA环境搭建说明书(keil)V1.1.pdf

这个里面说的不是很清楚 ,下面我描述一下。

image.png

1、将RASC集成到Keil

在“Menu Content”窗口中新建一个菜单项 “RA Smart Configurator” , 然后在“Command”一栏中输入 RASC 程序的路径,在“Initial Folder”一栏中输入 “$P” , 在“Arguments”一栏中输入:

image.png

--device $D --compiler ARMv6 configuration.xml

同理,在“Menu Content”窗口中再次新建一个菜单项 “Device Partition Manager” , 然后在“Command”一栏中输入 RASC 程序的路径,在“Initial Folder”一栏中输入 “$P” , 在“Arguments”一栏中输入:

image.png

`

-application com.renesas.cdt.ddsc.dpm.ui.dpmapplication configuration.xml "$L%L"

再次点开 Keil 软件菜单栏的“Tools”,我们可以看到 “RA Smart Configurator”“Device Partition Manager” 这两个菜单项已经被加入到 Tools 栏上面了。

图

2、使用RASE新建一个工程

image.png

第一步:

image.png

选择芯片与C语言,和KEIL IDE

image.png

直接选择Flat Project就行

image.png

image.png

选择是否使用FreeRTOS

image.png

配置引脚定义:

image.png

3.回到KEIL中编译:

首先查看是否有设置好。

image.png

这里也很关键。

注意

image.png

SARMV8M.DLL

-MPU

TCM.DLL

-pCM33

这里如果没有添加进去,会无法下载。

4、 硬件连接

LED连接

image.png

按键:

image.png

5、软件实现核心代码:

点亮一个LED。

R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);

结构体

typedef enum e_bsp_io_level

{

BSP_IO_LEVEL_LOW = 0, ///< Low

BSP_IO_LEVEL_HIGH ///< High

} bsp_io_level_t;

GPIO口:

BSP_IO_PORT_04_PIN_04 = 0x0404,    ///< IO port 4 pin 4
BSP_IO_PORT_04_PIN_05 = 0x0405,    ///< IO port 4 pin 5

按键:

bsp_io_level_t key_Status[2] = {BSP_IO_LEVEL_HIGH, BSP_IO_LEVEL_HIGH};

BSP_IO_PORT_00_PIN_05 = 0x0005,    ///< IO port 0 pin 5
BSP_IO_PORT_00_PIN_06 = 0x0006,    ///< IO port 0 pin 6

LED流水灯:

R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);

R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_LOW);

R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);

/* Delay for 200ms */
    vTaskDelay(pdMS_TO_TICKS(200));

    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_HIGH);
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW);

    /* Delay for 200ms */
    vTaskDelay(pdMS_TO_TICKS(200));

    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_LOW);
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_HIGH);

    /* Delay for 200ms */
    vTaskDelay(pdMS_TO_TICKS(200));

bc48f7c0f28a2c3c939c75af62cbe54b

更多回帖

发帖
×
20
完善资料,
赚取积分