RT-THREAD:PIN设备使用例程

RT-THREAD PIN设备应用


RT-Thread Version:4.0.1

硬件平台:野火STM32挑战者 MCU:STM32F429IGT6

开发工具:

1.MDK5.25以上
2.VSCode
3.env工具


PIN设备的操作方法

应用程序通过RT-Thred提供的pin设备管理接口来操作GPIO,函数接口如下表:

表1.pin设备管理接口API
方法名称 方法描述
rt_pin_mode() 设置引脚模式
rt_pin_write() 设置引脚电平
rt_pin_read() 读取引脚电平
rt_pin_attach_irq() 绑定引脚中断回调函数
rt_pin_detach_irq() 脱离引脚中断回调函数
rt_pin_irq_enable() 使能引脚中断

1. 设置引脚模式

在使用引脚之前需要先设定引脚的工作模式,通过下面函数完成:

void rt_pin_mode(rt_base_t pin, rt_base_t mode);
表2.rt_pin_mode()的输入参数与返回值
参数 描述
pin 引脚编号
mode 引脚工作模式
返回 描述
1.1 引脚编号获取

引脚编号是由rt-thread的pin设备管理驱动程序定义的,并不是芯片的引脚号。有2种方式可以获取引脚编号:使用宏定义GET_PIN(port, pin)或者查看PIN 驱动文件drv_gpio.c

使用宏定义比较方便。比如要获取led灯的引脚编号,硬件图如图1.led原理图
在这里插入图片描述

图1.led原理图

代码如下:

#define LEDR_PIN    GET_PIN(H, 10)
#define LEDG_PIN    GET_PIN(H, 11)
#define LEDB_PIN    GET_PIN(H, 12)

再比如要获取key1的引脚编号,硬件图如图2.key原理图
在这里插入图片描述

图2.key原理图

代码如下:

#define KEY1_PIN    GET_PIN(A, 0)
#define KEY2_PIN    GET_PIN(C, 13)
1.2 设置引脚模式

RT-Thread目前支持的模式有下面5种:

#define PIN_MODE_OUTPUT         0x00    /*推挽输出*/
#define PIN_MODE_INPUT          0x01    /*浮空输入*/
#define PIN_MODE_INPUT_PULLUP   0x02    /*上拉输入*/
#define PIN_MODE_INPUT_PULLDOWN 0x03    /*下拉输出*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值