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

相关推荐
python百炼成钢31 分钟前
13.RTC实时时钟
linux·stm32·单片机·嵌入式硬件·实时音视频
国科安芯44 分钟前
FreeRTOS 在 AS32系列RISC-V 架构MCU电机驱动中的应用实践与优化
单片机·嵌入式硬件·安全·架构·压力测试·risc-v·安全性测试
染予1 小时前
GPIO中断实现流程
单片机·嵌入式硬件
Jerry丶Li3 小时前
二十九、STM32的USART (串口发送)
stm32·单片机·嵌入式硬件
d111111111d4 小时前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习
EVERSPIN4 小时前
MCU单片机,常用32位单片机,低功耗单片机MM32L系列
单片机·mcu单片机·32位单片机·低功耗单片机·mm32l系列
idcardwang5 小时前
esp32-s3-supermini使用arduio IDE进行mpu6050的数据读取
ide·单片机
纳祥科技10 小时前
方案分享:一款基于低功耗单片机的腰腹甩脂机方案
单片机·嵌入式硬件
点灯小铭13 小时前
基于单片机的电子琴设计与乐曲存储播放实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
hemama_13 小时前
STM32F103VET6开发板例程(一)-LED
stm32·单片机·嵌入式硬件