0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

2. 使用 RASC 生成 Keil 工程

jf_92517703 来源:jf_92517703 作者:jf_92517703 2022-12-05 09:57 次阅读

1.新建一个一个工作空间文件夹

图片.png

2.创建一个工程

2.1

图片.png

2.2

图片.png

2.3 选择 FSP 库版本、板子型号、设备(MCU)型号、编程语言、编译器

图片.png

图片.png

图片.png

2.4

图片.png

2.5

图片.png

2.6

图片.png

2.7

图片.png

2.8 代码生成

图片.png

2.9 代码生成结果

图片.png

2.10 通过MDK 打卡RASC配置软件

图片.png

2.11

图片.png

LED硬件信息

3.1 LED

图片.png

3.2 RASC 配置gpio

图片.png

图片.png

图片.png

属性说明:

图片.png

生成代码

图片.png

软件编写

软件入口函数

void hal_entry(void)

led 闪烁函数

void hal_entry(void)
{
    /* TODO: add your own code here */
	//初始化io
	R_IOPORT_Open (&g_ioport_ctrl, g_ioport.p_cfg);
	//
	while(1)
	{
		R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
		R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); //延时 100毫秒
		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_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); //延时 100毫秒
		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_04_PIN_15, BSP_IO_LEVEL_LOW);
		R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); //延时 100毫秒
		R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, BSP_IO_LEVEL_HIGH);
	}
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

系统延时函数

/*


void R_BSP_SoftwareDelay (uint32_t delay, bsp_delay_units_t units)
delay:时间数量
units:时间单位
*/

可选的时间单位

```c

typedef enum
{
    BSP_DELAY_UNITS_SECONDS      = 1000000, ///< Requested delay amount is in seconds
    BSP_DELAY_UNITS_MILLISECONDS = 1000,    ///< Requested delay amount is in milliseconds
    BSP_DELAY_UNITS_MICROSECONDS = 1        ///< Requested delay amount is in microseconds
} bsp_delay_units_t;

gpio相关的函数

fsp_err_t R_IOPORT_Open(ioport_ctrl_t * const p_ctrl, const ioport_cfg_t * p_cfg);
fsp_err_t R_IOPORT_Close(ioport_ctrl_t * const p_ctrl);
fsp_err_t R_IOPORT_PinsCfg(ioport_ctrl_t * const p_ctrl, const ioport_cfg_t * p_cfg);
fsp_err_t R_IOPORT_PinCfg(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, uint32_t cfg);
fsp_err_t R_IOPORT_PinEventInputRead(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t * p_pin_event);
fsp_err_t R_IOPORT_PinEventOutputWrite(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t pin_value);
fsp_err_t R_IOPORT_PinRead(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t * p_pin_value);
fsp_err_t R_IOPORT_PinWrite(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t level);
fsp_err_t R_IOPORT_PortDirectionSet(ioport_ctrl_t * const p_ctrl,
                                    bsp_io_port_t         port,
                                    ioport_size_t         direction_values,
                                    ioport_size_t         mask);
fsp_err_t R_IOPORT_PortEventInputRead(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port, ioport_size_t * event_data);
fsp_err_t R_IOPORT_PortEventOutputWrite(ioport_ctrl_t * const p_ctrl,
                                        bsp_io_port_t         port,
                                        ioport_size_t         event_data,
                                        ioport_size_t         mask_value);
fsp_err_t R_IOPORT_PortRead(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port, ioport_size_t * p_port_value);
fsp_err_t R_IOPORT_PortWrite(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port, ioport_size_t value, ioport_size_t mask);

审核编辑 黄昊宇

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

    关注

    68

    文章

    1212

    浏览量

    166864
收藏 人收藏

    评论

    相关推荐

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED

    Configurator)软件进行 Keil 工程生成和芯片功能配置(类似 STM32 的 MX 软件功能) RASC 软件安装包 800M+,安装完占用超过
    发表于 12-19 23:52

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】+初次见面+MDK生成代码+点灯

    :Arm Keil | Renesas RA_DFP 2、下载官方 RA 智能配置(RASC)安装程序 (FSP 软件包,可与 IAR Embedded Workbench、Arm Keil
    发表于 12-15 21:55

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】MDK新建工程

    安装。 2.RASC 软件安装完成之后,还需要将 RASC 软件集成到 Keil 软件上面 3.新建工程 使用 RASC 自动
    发表于 12-14 18:23

    Keil详细安装教程(同时兼容51与STM32)

    红色部分,点击操作。 2. 选择安装路径,选择第一步创建的keil_c51 文件夹 3. 自定义信息,随便写 4. 安装完后,结束安装 2) 安装arm 版keil 安装包以MDK 开
    的头像 发表于 11-26 11:26 1906次阅读
    <b class='flag-5'>Keil</b>详细安装教程(同时兼容51与STM32)

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】使用 RASC 建立 Keil 工程、烧录测试

    Content 生成工程文件。 Keil IDE 编译 回到工程所在文件夹,可见此时已生成 Keil
    发表于 11-09 12:52

    STM32 demko板生成KEIL工程编译出错是什么原因导致的?

    最近刚开始用STM32MotorControl Workbench 5.0.3STM32CubeMX4.25KEIL 生成工程编译总是出错,出错总跟MCSDK_v5.0.3文件有关,不知哪里引起,哪位帮我看看,谢谢!
    发表于 04-26 07:03

    KEIL编译Workbench生成工程之后报错的原因?

    KEIL编译Workbench生成工程之后报错误 这是啥问题
    发表于 04-25 08:03

    关于使用keil工具遇到的几个疑问求解

    Cortex-M0+”来绑定了cpu类型。这样如果在另一个工程,其cpu 为 Cortex-M4就会链接报错。不知有什么办法能绕过去? 2.Keil里,能不能在一个工程里,同时
    发表于 04-23 07:43

    STM32无法生成keil工程一直提示缺少固件更新是怎么回事?如何解决?

    打开之前的工程是可以的,但是创建新的工程就不可以,无法生成keil工程,型号,固件库也找之前的电脑拷贝下来,放进去了,依然不行,依旧提示更新
    发表于 04-17 08:28

    求助,CubeMX5.4生成不了keil工程吗?

    还有个5.3的版本就可以生成keil。5.4的就会报错
    发表于 04-17 08:08

    STM32F429+CUBEMX6.6.1+KEIL5.31生成工程跑不了是为什么?

    STM32F429+CUBEMX6.6.1+KEIL5.31,生成工程跑不了(简单的IO操作),换成低版本的CUBEMX貌似才行,哪里的原因?
    发表于 03-25 06:12

    stm32cubemx生成不了keil工程的原因?

    stm32cubemx生成不了keil工程
    发表于 03-21 06:00

    STM32CUBE生成工程如何进行KEIL的软件仿真?

    通过STM32CUBE生成工程如何进行KEIL的软件仿真有异常,做了很多的尝试,没能成功 1、根据网上的资料,进行魔术棒的相关修改,如下图 2、能顺利进入仿真界面,但是全速仿真,不
    发表于 03-13 06:04

    keil-mdk使用Env配合生成工程,每次使用Env更新工程后,该项都会被重置的原因?

    我现在使用的IDE是keil-mdk,然后使用Env配合生成工程。 问题是: 在keil开发中经常会用到工程项管理,如下图。每次使用Env更
    发表于 03-01 07:01

    KEIL5如何打开KEIL4的GD工程

    GD官方提供的很多KEIL例程为KIEL4的版本,读者使用的时候可能会碰到使用KEIL5打开KEIL4的工程会报错以及无法找到芯片选型的问题
    的头像 发表于 01-11 09:43 895次阅读
    <b class='flag-5'>KEIL</b>5如何打开<b class='flag-5'>KEIL</b>4的GD<b class='flag-5'>工程</b>