编辑语:
芯片开放社区(OCC)面向广大开发者推出应用实战系列内容,通过分享开发者实战开发案例,总结应用开发经验,梳理开发中的常见问题及解决方案,为后续参与的开发者提供更多参考与借鉴。
本文是关于开发者 swzswz基于BL606P-DVK开发板实战开发的系列文章中的一篇,主要介绍了GPIO点灯,后面还会持续更新社区开发者的测评内容,敬请期待!
01灯GPIO控制原理
BL606带有3个灯的控制,下图是接线原理图。
02过程
平头哥官网给出了GPIO口的控制例程,如下图
新建Led.c文件,以便控制led灯的亮灭。
代码如下:
/* 头文件包含 */ #include#include #include "app_main.h" void gpio_output_set(int port, int val) { /* GPIO 推挽输出模式设置 */ gpio_dev_t gpio = { 0, OUTPUT_PUSH_PULL, NULL }; /* 设置 pin 脚,与管脚复用设置一致 */ gpio.port = port; /* GPIO 初始化, 配置为输出模式 */ int ret = hal_gpio_init(&gpio); if (ret == 0) { if (val) { /* IO 输出高电平 */ ret = hal_gpio_output_high(&gpio); } else { /* IO 输出低电平 */ ret = hal_gpio_output_low(&gpio); } } /* GPIO 去初始化 */ hal_gpio_finalize(&gpio); }
main函数中实现预定义,定义灯与对应管脚的控制联系。
#define R_On()gpio_output_set(GPIO_PIN_17,1) #define R_Off()gpio_output_set(GPIO_PIN_17,0) #define G_On()gpio_output_set(GPIO_PIN_18,1) #define G_Off()gpio_output_set(GPIO_PIN_18,0) #define B_On()gpio_output_set(GPIO_PIN_19,1) #define B_Off()gpio_output_set(GPIO_PIN_19,0)
最后,设置rgb灯的切换逻辑。
while(1){ R_On(); aos_msleep(500); R_Off(); G_On(); aos_msleep(500); G_Off(); B_On(); aos_msleep(500); B_Off(); }
03现象
RGB灯交替点亮。
审核编辑:汤梓红
-
原理图
+关注
关注
1293文章
6303浏览量
232661 -
接线
+关注
关注
29文章
698浏览量
33089 -
音视频
+关注
关注
4文章
462浏览量
29845 -
开发板
+关注
关注
25文章
4920浏览量
97111 -
GPIO
+关注
关注
16文章
1190浏览量
51861
原文标题:应用速递 | 博流BL606P音视频开发板+GPIO点灯
文章出处:【微信号:芯片开放社区,微信公众号:芯片开放社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论