目录
概述
本文介绍Renesa Version Board开发之RT-Thread 下IO驱动开发的详细方法,比这边介绍了RT-Thread的Pin接口函数,还使用FSP配置Version Board上RGB类型LED的IO,并实现其驱动程序,然后在mesh终端,通过命令测试该驱动程序的功能。
1 硬件接口介绍
Renesa Version Board板卡上有3个LED,该LED支持3个RGB模式的显示,其电路如下:
其对应的IO接口如下:
2 RT-Thread的Pin接口
2.1 PIN接口介绍
芯片上的引脚一般分为 4 类:电源、时钟、控制与 I/O,I/O 口在使用模式上又分为 General Purpose Input Output(通用输入 / 输出),简称 GPIO,与功能复用 I/O(如 SPI/I2C/UART 等)。
大多数MCU 的引脚支持复用功能。不同引脚内部结构不一样,拥有的功能也不一样。可以通过不同的配置,切换引脚的实际功能。
通用 I/O 口主要特性如下:
- 可编程控制中断:中断触发模式可配置,一般有下图所示 5 种中断触发模式:
输入输出模式可控制。
输出模式一般包括:推挽、开漏、上拉、下拉。引脚为输出模式时,可以通过配置引脚输出的电平状态为高电平或低电平来控制连接的外围设备。
输入模式一般包括:浮空、上拉、下拉、模拟。引脚为输入模式时,可以读取引脚的电平状态,即高电平或低电平。
2.2 访问PIN接口
应用程序通过 RT-Thread 提供的 PIN 设备管理接口来访问 GPIO,相关接口如下所示:
函数 | 描述 |
---|---|
rt_pin_get() | 获取引脚编号 |
rt_pin_mode() | 设置引脚模式 |
rt_pin_write() | 设置引脚电平 |
rt_pin_read() | 读取引脚电平 |
rt_pin_attach_irq() | 绑定引脚中断回调函数 |
rt_pin_irq_enable() | 使能引脚中断 |
rt_pin_detach_irq() | 脱离引脚中断回调函数 |
2.2.1 设置引脚模式
引脚在使用前需要先设置好输入或者输出模式,通过如下函数完成:
void rt_pin_mode(rt_base_t pin, rt_base_t mode);
参数 | 描述 |
---|---|
pin | 引脚编号 |