RT-Thread Studio配置片上外设GPIO的引脚

2022-08-21
关注

通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO 的引脚,控制 RGB 彩灯进行简单的颜色变换

1.2 模块介绍

开发板上板载一个三色 RGB 彩灯,原理图如下:

开发板引脚连接如下图,引脚 PA2 对应蓝灯,引脚 PE1 对应红灯,引脚 PE4 对应绿灯,RGB 为共阳极,当引脚拉低时,对应的 led 点亮

点击 文件-> 新建-> RT-Thread 项目控件,选择基于开发板的项目,填写工程名字,选择我们使用到的开发板(AB32VG1),调试器我们随便选,下载方式不是通过此处下载。

工程新建后左边的项目资源管理器会显示我们的工程,我们把他展开,编译一下,编译。

结果如下:

代码文件如下:

rgb.c 内写入如下程序
添加头文件,定义一个 RGB 结构体,并声明 LED
#include "rgb.h"
#include 
#include "board.h"
struct Led_s
{
 uint8_t LED_R;
 uint8_t LED_B;
 uint8_t LED_G;
}; // 定义一个 RGB 结构体
struct Led_s Led;
编写初始化驱动程序,调用 rt_pin_get 获取 led 句柄,通过句柄设置对应引脚模式为输
出模式
void RGB_Init(void)
{
 // 获得 led
 Led.LED_R = rt_pin_get("PE.1");
 Led.LED_G = rt_pin_get("PE.4");
 Led.LED_B = rt_pin_get("PA.2");
 // 设置引脚为输出方式
 rt_pin_mode(Led.LED_R, PIN_MODE_OUTPUT);
 rt_pin_mode(Led.LED_G, PIN_MODE_OUTPUT);
 rt_pin_mode(Led.LED_B, PIN_MODE_OUTPUT);
}
编写 rgb 不同颜色点灯驱动,通过 rt_pin_write 来控制 gpio 口电平高低,点亮红灯即
拉低红灯引脚,拉高其他两个颜色灯的引脚
//传入参数 on=1:对应亮,on=0:对应灭
//红灯驱动
void RGB_Red(rt_bool_t on)
{
 rt_pin_write(Led.LED_G, PIN_HIGH);
 rt_pin_write(Led.LED_B, PIN_HIGH);
 if (on) {
 rt_pin_write(Led.LED_R, PIN_LOW);
 }else {
 rt_pin_write(Led.LED_R, PIN_HIGH);
 } }
//蓝灯驱动
void RGB_Blue(rt_bool_t on){
 rt_pin_write(Led.LED_G, PIN_HIGH);
 rt_pin_write(Led.LED_R, PIN_HIGH);
 if (on) {
 rt_pin_write(Led.LED_B, PIN_LOW);
 }else {
 rt_pin_write(Led.LED_B, PIN_HIGH);
 } }
//绿灯驱动
void RGB_Green(rt_bool_t on)
{
 rt_pin_write(Led.LED_R, PIN_HIGH);
 rt_pin_write(Led.LED_B, PIN_HIGH);
 if (on) {
 rt_pin_write(Led.LED_G, PIN_LOW);
 }else {
 rt_pin_write(Led.LED_G, PIN_HIGH);
 }
}

您觉得本篇内容如何
评分

相关产品

Honeywell 霍尼韦尔智能工业 在线/便携烟气分析仪专用传感器 气体传感器

CO 传感器;SO2传感器;NO2 传感器;NO传感器;氧气传感器

微著科技 高性能传感器ASIC解决方案 MEMS传感器

微著科技是国内为数不多能够给传感器厂商提供定制高性能传感器解决方案的团队,目前已为国内众多院所及知名传感器公司提供了十余个传感器解决方案并已经实现量产。微著传感器ASIC方案的特点:成熟的仪表信号模块IP易于快速搭建;系统方案超低噪声;成熟的24ADC可同时实现模拟数字传感器方案设计;高效率及丰富的方案设计经验。

南方泰科 TGM 压力传感器

TGM是一款SOP8封装的压阻式MEMS压力传感器,其压力传感器芯片封装在 SOP8 塑封壳内。在传感器压力量程内,当用固定电压供电时,传感器产生毫伏输出电压,正比于输入压力。压力传感器芯片为绝压,可提供不同的压力量程的SOP8 压力传感器。

鑫精诚传感器 XJC-T001 压力传感器

◆传感器激光焊接密封,环境适应性较强 ◆球形联接件,始终保持模块的垂直称重状态 ◆支撑螺栓,防止设备倾覆且方便维护 ◆接地装置,保护传感器免受电源浪涌冲击 ◆过载保护装置,保护传感器免受冲击力

Huba Control 富巴 525系列 压力传感器

525系列压力传感器采用集公司20多年研发经验的陶瓷压力传感器芯片技术。该系列压力传感器可选压力范围大,电气连接形式多。最小量程为50mbar。大批量使用具有很好的性价比。

佰测传感 MS71 传感器

MS71差压传感器

Cubic 四方光电 PM3009BP 室外粉尘传感器

PM3009BP是一款专门针对餐饮油烟监测的油烟传感器,其采用旁流采样方式,自带除水雾装置,结合智能颗粒物识别算法,确保传感器能够快速准确的检测油烟浓度的变化,同时创新的镜头自清洁技术的应用,能够长效防护传感器油烟污染,大幅度延长传感器的使用寿命。

评论

您需要登录才可以回复|注册

提交评论

广告

电子发烧友

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

氯气CL2气体检测仪传感器检测传感器

提取码
复制提取码
点击跳转至百度网盘