2435|5

1514

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【安信可蓝牙开发板PB-02-Kit测评】点亮LED [复制链接]

由于安信可蓝牙开发板是面向蓝牙应用的开发板,板载的外设资源相对比较少,只有2类,即:一类是RGB_LED,另一类则是2个独立的LED,其原理图见图1所示。

 

图1 LED电路

 

有了上面的原理图,就等于有了控制LED的引脚号。

不知为何,在例程中既然提供GPIO口的示例,就为啥不点亮一个LED给大家一点光亮呢?

既然没有,我们就自己去点亮吧,如果不过瘾,那就多点亮它几个!

1.点亮暖色灯

点亮暖色灯的主程序为:

int app_main(void)
{
    /* Initialize the operating system */
    osal_init_system();
    osal_pwrmgr_device( PWRMGR_BATTERY );
    hal_gpio_pin_init(0, 1);
    hal_gpio_write(0, 1);
    /* Start OSAL */
    osal_start_system(); // No Return from here
    return 0;
}

程序下载后,其执行效果如图2所示。

图2点亮暖色灯

 

 

2. 点亮冷暖双灯

以点亮暖色灯为基础,点亮冷暖双灯程序为:

int app_main(void)
{
    /* Initialize the operating system */
    osal_init_system();
    osal_pwrmgr_device( PWRMGR_BATTERY );
    hal_gpio_pin_init(0, 1);
    hal_gpio_write(0, 1);
    hal_gpio_pin_init(P34, 1);
    hal_gpio_write(P34, 1);
    /* Start OSAL */
    osal_start_system(); // No Return from here
    return 0;
}

程序下载后,其执行效果如图3所示。

 

图3点亮冷暖双灯

 

3. 闪烁效果

既然能点亮LED,那项目LED便也就不是什么问题了,通过延时处理就可实现LED闪烁的闪烁。LED闪烁的程序为:

int app_main(void)
{
        /* Initialize the operating system */
        osal_init_system();
        osal_pwrmgr_device( PWRMGR_BATTERY );
        hal_gpio_pin_init(P0, OEN);
        hal_gpio_write(P0, 1);
        hal_gpio_pin_init(P15, OEN);//R
        hal_gpio_write(P15, 1);
        hal_gpio_pin_init(P34, OEN);//B
        hal_gpio_write(P34, 1);
        while(1)
        {
             for(i=0;i<1000;i++)
             for(j=0;j<2000;j++);
             hal_gpio_write(P34, 1);
             for(i=0;i<1000;i++)
             for(j=0;j<2000;j++);
             hal_gpio_write(P34, 0);
        }
        /* Start OSAL */
        osal_start_system(); // No Return from here
        return 0;
}

当然也可以将延时语句分离成独立的功能函数,其内容为:

void delay(int ms)
{
      int i,j;
      for(i=0;i<ms;i++)
      for(j=0;j<2000;j++);
}

使用延时函数的主程序为:

int app_main(void)
{
        /* Initialize the operating system */
        osal_init_system();
        osal_pwrmgr_device( PWRMGR_BATTERY );
        hal_gpio_pin_init(P0, OEN);
        hal_gpio_write(P0, 1);
        hal_gpio_pin_init(P15, OEN);
        hal_gpio_write(P15, 1);
        hal_gpio_pin_init(P34, OEN);
        hal_gpio_write(P34, 1);
        while(1)
        {
              delay(1000);
              hal_gpio_write(P34, 1);
              delay(1000);
              hal_gpio_write(P34, 0);
        }
        /* Start OSAL */
        osal_start_system(); // No Return from here
        return 0;
}

 

4. 点亮全部LED

除了冷暖LED外,还板载了一个RGB_LED,点亮全部LED的程序为:

int app_main(void)
{
        /* Initialize the operating system */
        osal_init_system();
        osal_pwrmgr_device( PWRMGR_BATTERY );
        hal_gpio_pin_init(P0, OEN);
        hal_gpio_write(P0, 1);
        hal_gpio_pin_init(P34, OEN);
        hal_gpio_write(P34, 1);
        hal_gpio_pin_init(P23, OEN);
        hal_gpio_write(P23, 1);
        hal_gpio_pin_init(P18, OEN);
        hal_gpio_write(P18, 1);
        hal_gpio_pin_init(P15, OEN);
        hal_gpio_write(P15, 1);
        while(1)
        {
             delay(1000);
             hal_gpio_write(P34, 1);
             delay(1000);
             hal_gpio_write(P34, 0);
        }
        /* Start OSAL */
        osal_start_system(); // No Return from here
        return 0;
}

程序下载后,其执行效果如图4所示。

图4点亮全部LED

 

此外,通过扩展接口还可以点亮外挂的LED模块,其实现的效果如图5所示。

图5 点亮外挂LED模块

 

此帖出自RF/无线论坛

最新回复

牛啊,不过我的板子下载后为什么不亮  详情 回复 发表于 2022-6-21 12:05
点赞(1) 关注
 

回复
举报

6807

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

控制智能光源很方便

此帖出自RF/无线论坛
 
 

回复

2万

帖子

71

TA的资源

管理员

板凳
 

虽然灯很小,但是颜色很炫。期待后续哈。

此帖出自RF/无线论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

感谢支持!!!  详情 回复 发表于 2021-11-19 10:38
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

1514

帖子

1

TA的资源

五彩晶圆(初级)

4
 
soso 发表于 2021-11-19 10:04 虽然灯很小,但是颜色很炫。期待后续哈。

感谢支持!!!

此帖出自RF/无线论坛
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(中级)

5
 

多谢多谢,用来控制灯光很好,还可以改成声控的

此帖出自RF/无线论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
牛啊,不过我的板子下载后为什么不亮
此帖出自RF/无线论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表