|
【瑞萨RA4系列开发板体验】使用 RASC 生成 Keil 工程+点亮LED
作者:jf_92517703
1.新建一个工空间文件夹作
2.创建一个工程
2.1
2.2
2.3 选择 FSP 库版本、板子型号、设备(MCU)型号、编程语言、编译器
2.4
2.5
2.6
2.7
2.8 代码生成
2.9 代码生成结果
2.10 通过MDK 打卡RASC配置软件
2.11
LED硬件信息
3.1 LED
3.2 RASC 配置gpio
属性说明:
生成代码
软件编写
软件入口函数
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);
复制代码
|
|