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

    文章

    1193

    浏览量

    165163
收藏 人收藏

    评论

    相关推荐

    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

    keil如何生成bin文件

    创建工程、编写代码、配置编译选项、编译生成可执行文件、转换为bin文件等。 创建工程 首先,打开Keil软件,点击“File”->“New”->“Project”,选择适合的目标设备,
    的头像 发表于 12-15 13:43 1938次阅读

    基于RASCkeil电子时钟制作(瑞萨RA)(1)----安装RASC

    RA Smart Configurator"是一种基于"灵活组合软件"概念的代码生成辅助工具。它可以自动生成微控制器的初始配置程序。该工具提供了基本的引脚配置功能,并提
    的头像 发表于 12-01 14:39 297次阅读
    基于<b class='flag-5'>RASC</b>的<b class='flag-5'>keil</b>电子时钟制作(瑞萨RA)(1)----安装<b class='flag-5'>RASC</b>

    如何转换Keil工程为ECloudIDE工程

    由于市面上绝大部分STM32教程是基于Keil软件教学,而ECloudIDE是基于GCC编译器( gcc-arm -none-eabi),两者在工程管理上存在一些差异,无法直接使用,我们团队提供了一个转换插件用与将Keil
    的头像 发表于 11-30 15:48 347次阅读
    如何转换<b class='flag-5'>Keil</b><b class='flag-5'>工程</b>为ECloudIDE<b class='flag-5'>工程</b>

    使用CubeMX生成KEIL5工程后,不能调整组怎么解决?

    之前用的好好的,使用CubeMX 生成KEIL5工程后,不论是通过品字图标还是手动拖动, 都不能修改组的group的顺序。使用Manage Project Items 之后,MDK直接卡死。 有没有人遇到和我一样的问题,
    发表于 11-06 07:18

    cubeMX怎么生成不了keil工程

    cubeMX怎么生成不了keil工程
    发表于 10-31 06:42

    如何使用Keil生成汇编文档

    如何使用Keil IDE环境中生成汇编文档使用Keil IDE环境中生成汇编文档
    发表于 10-19 07:31

    如何使用Keil生成Bin文件

    如何使用Keil生成Bin文件使用Keil 生成Bin文件
    发表于 10-19 07:08

    解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: &apos;board_cfg.h&apos; file not found

    在直播课程中,我主要基于KEILRASC、FSP这几个软件给大家演示,介绍如何在KEIL中打开RASC,已经从零开始配置一个新的外设(以新增UART1为例)。
    的头像 发表于 09-28 14:47 866次阅读
    解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: &apos;board_cfg.h&apos; file not found

    【瑞萨RA MCU创意氛围赛】2. KEIL下串口重定向printf和scanf

    串口连接了。 2. 配置 打开RASC,配置SCI4,复用为异步串口或者同步串口,我选择使用异步串口,需要配合中断一起使用。 配置stack: 详细配置信息: 3 代码实现 在KEIL下,如果需要实现
    发表于 05-26 13:41

    【瑞萨FPB-RA6E1快速原型板】简单开箱和RASC+Keil开发环境搭建

    /setup_fsp_v4_2_0_rasc_v2022-10.exe 打开RASC 4.2.0安装程序后,界面如下: 安装没啥难度,一路“下一步”就好了,安装完成界面如下: 4.2 安装Keil MDK
    发表于 05-22 23:13

    生成工程中找不到FIONBIO的定义,有大神碰见过这个问题吗?

    通过env导入umqtt软件包生成KEIL工程后有个宏定义标识符找不到如图所示,生成工程中找不到FIONBIO的定义,有大神碰见过这个问题
    发表于 04-14 10:45