【博流BL606P音视频开发板】二、RGB点灯,LED为BL702管教
[复制链接]
一、硬件及连接
BL606P开发板中有一颗RGB灯,以及4颗LED灯,硬件连接原理图分别如下
1、RGB灯的连接
IO引脚控制NMOS管点亮RGB灯,GPIO17、18、19分别对应R、G、B,输出高电平点亮,同时需要设置跳线帽JP6-8
跳线帽要插在RGB灯的远端。
2、LED的连接
分别采用BL702的GPIO23、17、14、9控制D9-D12,输出低电平点亮。
就BL606P来说,只能控制RGB灯了。
二、软件实现
控制BL606P的GPIO,参考官网提供的例程
新建了led.c文件
具体代码如下:
/* 头文件包含 */
#include <aos/hal/gpio.h>
#include <drv/pin.h>
#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);
}
在board_yoc_init函数中,设定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();
}
三、总结
板子上RGB灯,应该出现了硬件问题,在拔掉跳线帽的情况下依然是点亮的,颜色应该是灰度级别的半亮度
由此初步判断RGB灯坏了,测量N-MOS的D极电压,都有0.8V,而RGB的阴极管教端,约有1.3v左右的电压
跳线帽合上后,可以看到R、G、B灯色的变化,但是不明显,因此也不传视频了。
由于手头没有热风枪,以及必要的器件,无法替换RGB灯。
整体来说,BL606P的开发板,硬件上感觉存在较大的不稳定,或许也是测评的因素之一吧。
|