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

通过 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.hstruct 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); }}
DCS分布式缓存服务实例类型介绍
减速机过载的原因 减速机会改变功率吗
2020年可折叠面板的出货量预计增长454%,三星领跑全球折叠机市场
D3301调频立体声解码电路的应用
华为问界m9大定单量超2万台
RT-Thread Studio配置片上外设GPIO的引脚
如何使用LDR和继电器制作一个简单的自动路灯电路
孙杨代言,华为荣耀v9能不快?
宁波能源大数据中心助力国家北斗网络布局
Move Mirror使用摄像头捕捉你的动作,实时匹配和你动作相近的图像
5个存储管理中非常重要的概念
120W超快闪充加持 iQOO 8传奇版京东预售定金100抵200元
Kubernetes奖励发现安全漏洞的研究人员
晶丰明源DCDC四大产品系列满足客户各种应用需求
NXP推出基于i.MX RT117H的智能人机界面解决方案
可以用电磁炉进行快速无线快充吗
播下开源教育的种子分论坛圆满举办
为大家介绍一下无人叉车在生产应用中有哪些优势
人工智能软件有哪些
“导游Bot”在模拟的纽约市中导航定位,使用自然语言跟“游客Bot”交流