RA6M5——GPIO

文章目录

GPIO输入输出

RASC图形化配置

输出模式:

输入模式:

配置选项:

配置项 取值/描述
Mode l "Input mode"(输入模式)l "Output mode(Initial Low)"(输出模式,初始电平为低)l "Output mode(Initial High)"(输出模式,初始电平为高)
Pull up(上拉电阻) l "None"(禁止内部上拉)l "input pull-up"(使能内部上拉)当引脚被配置为Output mode时无法设置Pull up参数
IRQ(中断) l "None"(不使用中断)l "IRQ10"(使用中断)
Output type(输出类型) l "CMOS"l "n-ch open drain"(开漏)当引脚被配置为Input mode时无法设置本参数
Symbolic Name #define LED (BSP_IO_PORT_04_PIN_00)

接口函数

API详解\]([第5章 GPIO输入输出 \| 百问网 (100ask.net)](https://renesas-docs.100ask.net/zh/DShanMCU_RA6M5/object_oriented_module_programming_method_in_ARM_embedded_system/chapter5.html#_5-2-4-api%E6%8E%A5%E5%8F%A3%E7%94%A8%E6%B3%95)) ```c fsp_err_t (* open)(ioport_ctrl_t * const p_ctrl, const ioport_cfg_t * p_cfg); fsp_err_t (* close)(ioport_ctrl_t * const p_ctrl); fsp_err_t (* pinsCfg)(ioport_ctrl_t * const p_ctrl, const ioport_cfg_t * p_cfg); fsp_err_t (* pinCfg)(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, uint32_t cfg); fsp_err_t (* pinEventInputRead)(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t * p_pin_event); fsp_err_t (* pinEventOutputWrite)(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin,bsp_io_level_t pin_value); fsp_err_t (* pinRead)(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t * p_pin_value); fsp_err_t (* pinWrite)(ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t level); fsp_err_t (* portDirectionSet)(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port,ioport_size_t direction_values, ioport_size_t mask); fsp_err_t (* portEventInputRead)(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port, ioport_size_t * p_event_data); fsp_err_t (* 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 (* portRead)(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port,ioport_size_t * p_port_value); fsp_err_t (* portWrite)(ioport_ctrl_t * const p_ctrl, bsp_io_port_t port,ioport_size_t value, ioport_size_t mask); ``` ### 实例代码: ```c /* in hal_entry() */ bsp_io_level_t level; while(1) { /* 读按键状态 */ g_ioport.p_api->pinRead(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_00, &level); /* 根据按键状态设置LED */ g_ioport.p_api->pinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, level); } ```

相关推荐
念风16 小时前
[Linux学习笔记]F1C100S的u-boot学习记录
嵌入式
晶振厂家-晶发电子2 天前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F137298015572 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
三佛科技-187366133972 天前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设
李永奉2 天前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
bing_feilong2 天前
STM32精准控制水流
单片机·嵌入式硬件
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
矢志不移7922 天前
裸机开发 时钟配置,EPIT
单片机·嵌入式硬件