$darkmode
RuiChing API 参考手册
V0.9.1

提供对 GPIO 引脚的输入/输出控制与中断管理接口 更多...

宏定义

#define PIN_LOW   0x00
 低电平
 
#define PIN_HIGH   0x01
 高电平
 
#define PIN_MODE_OUTPUT   0x00
 输出模式
 
#define PIN_MODE_INPUT   0x01
 输入模式
 
#define PIN_MODE_INPUT_PULLUP   0x02
 上拉输入模式
 
#define PIN_MODE_INPUT_PULLDOWN   0x03
 下拉输入模式
 
#define PIN_MODE_OUTPUT_OD   0x04
 开漏输出模式
 
#define PIN_IRQ_MODE_RISING   0x00
 上升沿触发模式
 
#define PIN_IRQ_MODE_FALLING   0x01
 下降沿触发模式
 
#define PIN_IRQ_MODE_RISING_FALLING   0x02
 边缘触发模式
 
#define PIN_IRQ_MODE_HIGH_LEVEL   0x03
 高电平触发模式
 
#define PIN_IRQ_MODE_LOW_LEVEL   0x04
 低电平触发模式
 
#define PIN_IRQ_DISABLE   0x00
 失能 PIN 中断
 
#define PIN_IRQ_ENABLE   0x01
 使能 PIN 中断
 

函数

void rt_pin_mode (rt_base_t pin, rt_uint8_t mode)
 设置指定 PIN 的模式 更多...
 
void rt_pin_write (rt_base_t pin, rt_ssize_t value)
 设置指定 PIN 的输出值 更多...
 
rt_ssize_t rt_pin_read (rt_base_t pin)
 读取指定 PIN 的输入值 更多...
 
rt_base_t rt_pin_get (const char *name)
 获取指定 PIN 的编号 更多...
 
rt_err_t rt_pin_attach_irq (rt_base_t pin, rt_uint8_t mode, void(*hdr)(void *args), void *args)
 为指定的 PIN 绑定中断服务程序 更多...
 
rt_err_t rt_pin_detach_irq (rt_base_t pin)
 从指定 PIN 中断解除绑定 更多...
 
rt_err_t rt_pin_irq_enable (rt_base_t pin, rt_uint8_t enabled)
 启用或禁用指定 PIN 的中断 更多...
 

详细描述

提供对 GPIO 引脚的输入/输出控制与中断管理接口

函数说明

◆ rt_pin_mode()

void rt_pin_mode ( rt_base_t  pin,
rt_uint8_t  mode 
)

设置指定 PIN 的模式

将指定的 PIN 配置为指定的模式。此函数会根据给定的参数将指定 PIN 设备的 模式设置为输入、输出或其他支持的模式。该函数会根据硬件平台及驱动的实际 要求,调整引脚的配置

参数
[in]pin指定的 PIN 编号。请确保该 PIN 支持当前模式设置
[in]mode要设置的模式
标志位 含义
PIN_MODE_OUTPUT 输出模式
PIN_MODE_INPUT 输入模式
PIN_MODE_INPUT_PULLUP 上拉输入模式
PIN_MODE_INPUT_PULLDOWN 下拉输入模式
PIN_MODE_OUTPUT_OD 开漏输出模式
警告
  • 不同的硬件平台可能不会支持所有的模式

◆ rt_pin_write()

void rt_pin_write ( rt_base_t  pin,
rt_ssize_t  value 
)

设置指定 PIN 的输出值

将指定的 PIN 设置为给定的输出值。此函数用于控制指定 PIN 输出的电平

参数
[in]pin指定的 PIN 编号
[in]value要设置的输出值
标志位 含义
PIN_LOW 低电平
PIN_HIGH 高电平

◆ rt_pin_read()

rt_ssize_t rt_pin_read ( rt_base_t  pin)

读取指定 PIN 的输入值

从指定的 PIN 读取其当前的输入电平

参数
[in]pin指定的 PIN 编号
返回值
PIN_LOW当前 PIN 为低电平
PIN_HIGH当前 PIN 为高电平
-RT_ERROR不支持读取当前 PIN 电平

◆ rt_pin_get()

rt_base_t rt_pin_get ( const char *  name)

获取指定 PIN 的编号

根据给定的 PIN 名称获取相应的 PIN 编号。此函数用于在需要操作特定 PIN 时,提供方便的名称到编号的映射

参数
[in]namePIN 的名称字符串,通常由硬件平台定义
返回值
>=0PIN 的编号
-RT_ENOSYS不支持获取 PIN 编号

◆ rt_pin_attach_irq()

rt_err_t rt_pin_attach_irq ( rt_base_t  pin,
rt_uint8_t  mode,
void(*)(void *args)  hdr,
void *  args 
)

为指定的 PIN 绑定中断服务程序

将指定 PIN 配置为触发中断,并绑定相应的中断处理函数。可以指定触发的 模式(上升沿、下降沿、双边沿等),当指定的中断条件满足时,系统会调用 用户提供的中断处理函数

参数
[in]pin指定的 PIN 编号
[in]mode中断触发模式
标志位 含义
PIN_IRQ_MODE_RISING 上升沿触发模式
PIN_IRQ_MODE_FALLING 下降沿触发模式
PIN_IRQ_MODE_RISING_FALLING 边缘触发模式
PIN_IRQ_MODE_HIGH_LEVEL 高电平触发模式
PIN_IRQ_MODE_LOW_LEVEL 低电平触发模式
[in]hdr中断处理函数
[in]args传递给中断处理函数的参数
返回值
RT_EOK中断绑定成功
-RT_ENOSYS该 PIN 不支持中断
注解
  • 不同的硬件平台可能不会支持所有的中断触发模式

◆ rt_pin_detach_irq()

rt_err_t rt_pin_detach_irq ( rt_base_t  pin)

从指定 PIN 中断解除绑定

解除指定 PIN 与中断处理程序的绑定。调用此函数后,指定的 PIN 将不再触发中断

参数
[in]pin指定的 PIN 编号
返回值
RT_EOK解除中断绑定成功
-RT_ENOSYS该 PIN 不支持中断

◆ rt_pin_irq_enable()

rt_err_t rt_pin_irq_enable ( rt_base_t  pin,
rt_uint8_t  enabled 
)

启用或禁用指定 PIN 的中断

启用或禁用指定 PIN 的中断功能。该函数用于控制 PIN 上中断的响应状态。 启用后符合条件的中断会触发中断处理函数;禁用后指定 PIN 将不再触发中断

参数
[in]pin指定的 PIN 编号
[in]enabled使能状态
标志位 含义
PIN_IRQ_ENABLE 启用中断
PIN_IRQ_DISABLE 禁用中断
返回值
RT_EOK设置中断状态成功
-RT_ENOSYS该 PIN 不支持中断