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))

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);
    }
相关推荐
wuyk5553 小时前
嵌入式故障诊断-Bug002-局部大数组压栈高温必死机
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机·嵌入式实时数据库
Zwawa7 小时前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
Dev_XH7 小时前
【成品设计】基于沁恒单片机的电动汽车充电站智慧调度系统
stm32·单片机·嵌入式硬件·物联网
minglie110 小时前
esp32c3+atshell测试ov7670
单片机·嵌入式硬件
橘为己有44110 小时前
51单片机:流水灯
单片机·51单片机
不脱发的程序猿10 小时前
STM32和VS1053制作电子琴
stm32·单片机·嵌入式硬件·midi·vs1053
Zwawa1 天前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
安妮细水长流1 天前
ad7124
c语言·单片机
en.en..1 天前
STM32 HAL 库 | 核心知识点整理
单片机·嵌入式硬件
无敌贵点大王1 天前
从寄存器层面重学STM32(9)——DMA理论
stm32·单片机·嵌入式硬件