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); } ```

相关推荐
努力做小白14 分钟前
Linux驱动25 --- RkMedia音频API使用&&增加 USB 音视频设备
linux·驱动开发·单片机·嵌入式硬件·音视频
机器视觉知识推荐、就业指导1 小时前
STM32 外设驱动模块一:LED 模块
stm32·单片机·嵌入式硬件
Sean_woo19982 小时前
正点原子阿波罗STM32F429IGT6移植zephyr rtos(四)---在独立的应用工程里使用MPU6050
stm32·单片机·嵌入式硬件·zephyr
亿道电子Emdoor9 小时前
【ARM】MDK自动备份源文件
arm开发·单片机·嵌入式硬件·arm
回眸&啤酒鸭9 小时前
【回眸】香橙派zero2 阿里云机器视觉分拣系统
嵌入式
ytttr87313 小时前
8位以及32位的MCU如何进行选择?
单片机·嵌入式硬件
是孑然呀14 小时前
【笔记】重学单片机(51)(下)
笔记·单片机·嵌入式硬件
小眼睛FPGA17 小时前
【盘古100Pro+开发板实验例程】FPGA学习 | 基于 UDP 的以太网传输实验例程
科技·单片机·学习·ai·fpga开发·fpga
CC呢17 小时前
基于单片机智能鱼缸/水族箱/水产养殖系统设计
stm32·单片机·嵌入式硬件·智能鱼缸·水族箱
Cyrus_柯18 小时前
单片机(STM32-WIFI模块)
stm32·单片机·嵌入式硬件·中断·wifi模组