e8abbeba1036ecb9259f328c48efb115
前言
拿到开发板之后马上点个灯是对开发板最起码的尊重,所以我们这一篇就来点板载的RGB灯。
过程
创建工程
菜单栏 View -> Show Welcome Page
新建工程
搜索BL606创建工程
输入工程名LED,下载方案
指定工程名和路径
左侧工程红色的表示没有下载成功
右键点击从Web下载
修改脚本
LED\__workspace_pack__\bl606p_evb_e907\v7.6.2\script\aft_build.sh的如下位置加-kp参数,否则重启后不能运行。
修改源码
LED\app\app_main.c中
#include <aos/hal/gpio.h>
#include <drv/pin.h>
main函数中
csi_pin_set_mux(GPIO_PIN_17, PIN_FUNC_GPIO);
csi_pin_set_mux(GPIO_PIN_18, PIN_FUNC_GPIO);
csi_pin_set_mux(GPIO_PIN_19, PIN_FUNC_GPIO);
gpio_dev_t gpio1 = { 0, OUTPUT_PUSH_PULL, NULL };
gpio_dev_t gpio2 = { 0, OUTPUT_PUSH_PULL, NULL };
gpio_dev_t gpio3 = { 0, OUTPUT_PUSH_PULL, NULL };
gpio1.port = GPIO_PIN_17;
gpio2.port = GPIO_PIN_18;
gpio3.port = GPIO_PIN_19;
hal_gpio_init(&gpio1);
hal_gpio_init(&gpio2);
hal_gpio_init(&gpio3);
while(1)
{
aos_msleep(1000);
hal_gpio_output_high(&gpio1);
hal_gpio_output_low(&gpio2);
hal_gpio_output_low(&gpio3);
aos_msleep(1000);
hal_gpio_output_low(&gpio1);
hal_gpio_output_high(&gpio2);
hal_gpio_output_low(&gpio3);
aos_msleep(1000);
hal_gpio_output_low(&gpio1);
hal_gpio_output_low(&gpio2);
hal_gpio_output_high(&gpio3);
LOGD("INFO", "Hello World\r\n");
}
编译
下载
将如此说四个跳线帽跳线到JTAG这一边(靠近RGBLED这一边)
点击下载
运行
将上述跳线帽JP678跳到另外一边.
上电可以看到RGB灯三色依次亮灭。
总结
- RGB三色LED和JTAG引脚复用,如果用到RGB三色LED的化要要反复跳线,下载时跳线到JTAG,运行时跳线到LED, 对于需要频繁跳线的使用拨码开关更好,跳线跳来跳去跳线帽都不知道掉到哪去了,并且频繁插拔都会直接接触IC的引脚,又没有做静电保护设计,引脚很容易静电损坏。做的东西产品思维需要提高。
- 需要修改脚本aft_build.sh添加-kp参数再下载才能运行, 建议提供给用户的Demo一定要是开箱即用的,还需要改这么偏僻的地方,对于新使用一个平台来说早就劝退了,比较耽误用户的时间,用户体验有待提高。
- 居然没有复位按键,复位都需要重新插拔USB,体验不太好。
参考
https://occ.t-head.cn/document?temp=gpio-driver-development-example&slug=longyuan
|