編輯語:
芯片開放社區(qū)(OCC)面向廣大開發(fā)者推出應(yīng)用實(shí)戰(zhàn)系列內(nèi)容,通過分享開發(fā)者實(shí)戰(zhàn)開發(fā)案例,總結(jié)應(yīng)用開發(fā)經(jīng)驗(yàn),梳理開發(fā)中的常見問題及解決方案,為后續(xù)參與的開發(fā)者提供更多參考與借鑒。
本文是關(guān)于開發(fā)者 swzswz基于BL606P-DVK開發(fā)板實(shí)戰(zhàn)開發(fā)的系列文章中的一篇,主要介紹了GPIO點(diǎn)燈,后面還會(huì)持續(xù)更新社區(qū)開發(fā)者的測評內(nèi)容,敬請期待!
01燈GPIO控制原理
BL606帶有3個(gè)燈的控制,下圖是接線原理圖。
02過程
平頭哥官網(wǎng)給出了GPIO口的控制例程,如下圖
新建Led.c文件,以便控制led燈的亮滅。
代碼如下:
/* 頭文件包含 */ #include#include #include "app_main.h" void gpio_output_set(int port, int val) { /* GPIO 推挽輸出模式設(shè)置 */ gpio_dev_t gpio = { 0, OUTPUT_PUSH_PULL, NULL }; /* 設(shè)置 pin 腳,與管腳復(fù)用設(shè)置一致 */ 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函數(shù)中實(shí)現(xiàn)預(yù)定義,定義燈與對應(yīng)管腳的控制聯(lián)系。
#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)
最后,設(shè)置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現(xiàn)象
RGB燈交替點(diǎn)亮。
審核編輯:湯梓紅
-
原理圖
+關(guān)注
關(guān)注
1292文章
6293瀏覽量
232510 -
接線
+關(guān)注
關(guān)注
29文章
696瀏覽量
33069 -
音視頻
+關(guān)注
關(guān)注
4文章
460瀏覽量
29840 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4896瀏覽量
97058 -
GPIO
+關(guān)注
關(guān)注
16文章
1188瀏覽量
51834
原文標(biāo)題:應(yīng)用速遞 | 博流BL606P音視頻開發(fā)板+GPIO點(diǎn)燈
文章出處:【微信號:芯片開放社區(qū),微信公眾號:芯片開放社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論