0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用星闪BS25开发板NL001测试SDK中外设程序

蓝牙 来源:蓝牙 2023-12-22 10:49 次阅读

内容简介

本文利用星闪BS25开发板NL001测试一下官方sdk中的外设程序,以便熟悉外设的基本操作。

测试工具

Operating system:Windows 10 home

deveco-device-tool-all-in-one:1.1.1_beta2

DevTools_CFBB:1.0.5

Compiler:CFBB IDE 1.0.3

Sdk:20230928

BurnTool:5.0.34

DebugKits_CFBB:3.0.98

Python:3.8.10

VSCode:1.66.2

Here we go

本文通过写一个程序让这块开发板上的三颗LED轮流点亮:

d56e8682-9ff5-11ee-8b88-92fbcf53809c.png

这几颗LED从下往上分别连接了BS25的S_AGPIO12、S_AGPIO07和S_MGPIO30,并且当GPIO输出高电平时LED会点亮。

我们采用blinky程序进行修改。先“pythonbuild.py standard-bs25-app-evb menuconfig”配置工程为blinky:

d5c01f2e-9ff5-11ee-8b88-92fbcf53809c.png

d5dcd6dc-9ff5-11ee-8b88-92fbcf53809c.png

d608d44e-9ff5-11ee-8b88-92fbcf53809c.png

d6392004-9ff5-11ee-8b88-92fbcf53809c.png

然后打开blinky_cmsis.c,修改以下代码:

d64df5f6-9ff5-11ee-8b88-92fbcf53809c.png

#defineLED_R S_AGPIO12

#defineLED_B S_AGPIO7

#defineLED_W S_MGPIO30

staticvoid *blinky_task(constchar *arg)

{

unused(arg);

uapi_pin_set_mode(LED_R, HAL_PIO_FUNC_GPIO);

uapi_gpio_set_dir(LED_R, GPIO_DIRECTION_OUTPUT);

uapi_gpio_set_val(LED_R, GPIO_LEVEL_LOW);

uapi_pin_set_mode(LED_B, HAL_PIO_FUNC_GPIO);

uapi_gpio_set_dir(LED_B, GPIO_DIRECTION_OUTPUT);

uapi_gpio_set_val(LED_B, GPIO_LEVEL_LOW);

uapi_pin_set_mode(LED_W, HAL_PIO_FUNC_GPIO);

uapi_gpio_set_dir(LED_W, GPIO_DIRECTION_OUTPUT);

uapi_gpio_set_val(LED_W, GPIO_LEVEL_LOW);

while (1)

{

osDelay(1000);

uapi_gpio_set_val(LED_R, GPIO_LEVEL_HIGH);

uapi_gpio_set_val(LED_B, GPIO_LEVEL_LOW);

uapi_gpio_set_val(LED_W, GPIO_LEVEL_LOW);

osDelay(1000);

uapi_gpio_set_val(LED_R, GPIO_LEVEL_LOW);

uapi_gpio_set_val(LED_B, GPIO_LEVEL_HIGH);

uapi_gpio_set_val(LED_W, GPIO_LEVEL_LOW);

osDelay(1000);

uapi_gpio_set_val(LED_R, GPIO_LEVEL_LOW);

uapi_gpio_set_val(LED_B, GPIO_LEVEL_LOW);

uapi_gpio_set_val(LED_W, GPIO_LEVEL_HIGH);

}

returnNULL;

}

完成后rebuild工程,烧录到板子中测试,发现LED根本不亮。

示波器分别测试三个IO口,发现电平是有变化的,所以怀疑是驱动能力不够,检查硬件大概是这样的情况:

d6721044-9ff5-11ee-8b88-92fbcf53809c.png

所以驱动能力不够是很有可能的。

尝试使用pinctrl来设置驱动能力和上下拉:

d689be56-9ff5-11ee-8b88-92fbcf53809c.png

也没有把LED点亮。

后来测试发现,是限流电阻太大,然后GPIO的电压也只有1.8V,开发板上的B和W两颗LED点亮电压高于1.8V的,所以导致了无法驱动的问题,程序本身应该是没啥问题的。

所以把LED R前的电阻短路掉,就可以正常点亮R这颗LED了(加不加上面的pinctrl代码都可以点亮),而另外两颗由于电压的关系无法点亮。

最终跟开发板商家确认了,NL001版本的开发板在LED那块设计是存在缺陷的,问题会在后面版本中修复。当然,手头的NL001只能自己改一下电阻和LED来解决问题了。。。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79552
  • 开发板
    +关注

    关注

    25

    文章

    4436

    浏览量

    94057
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44719
  • 星闪
    +关注

    关注

    5

    文章

    80

    浏览量

    236

原文标题:遥遥领先,星闪芯片BS25外设程序测试--Blinky

文章出处:【微信号:TalkBT,微信公众号:蓝牙】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何选择和编译海思星闪BS25 SDK下的sle mouse工程

    本文介绍如何选择和编译海思星闪BS25 SDK下的sle mouse工程。本文假设开发环境已经搭建完毕,具体搭建流程请参考《遥遥领先,华为海思星闪芯片BS25
    的头像 发表于 10-27 11:23 3219次阅读
    如何选择和编译海思星闪<b class='flag-5'>BS25</b> <b class='flag-5'>SDK</b>下的sle mouse工程

    星闪BS25开发板NL001初体验

    最近拿到了一块星闪BS25开发板NL001,做一个山寨版的“开箱”吧。
    的头像 发表于 11-17 09:17 3906次阅读
    星闪<b class='flag-5'>BS25</b><b class='flag-5'>开发板</b><b class='flag-5'>NL001</b>初体验

    如何搭建星闪BS25开发环境

    星闪(SparkLink)不多做介绍,有兴趣可以自行查找资料,简单来说就是一种新型的无线规范,理想是取代Bluetooth和Wifi,并且解决了一些蓝牙和wifi的痛点。BS25是某国内厂商推出的一颗支持星闪的SOC,本文介绍如何搭建星闪BS25
    的头像 发表于 11-18 17:14 1984次阅读
    如何搭建星闪<b class='flag-5'>BS25</b><b class='flag-5'>开发</b>环境

    用BurnTool给星闪芯片BS25烧写程序

    本文介绍用BurnTool给星闪芯片BS25烧写程序
    的头像 发表于 11-22 09:49 1228次阅读
    用BurnTool给星闪芯片<b class='flag-5'>BS25</b>烧写<b class='flag-5'>程序</b>

    华为星闪BS25 SDK中GADC设置的陷阱

    用华为星闪 BS25 SDK 做产品中发现 GADC中的 一个小陷阱。
    的头像 发表于 12-01 14:01 978次阅读
    华为星闪<b class='flag-5'>BS25</b> <b class='flag-5'>SDK</b>中GADC设置的陷阱

    利用星闪BS25开发板NL001测试官方sdk中的外设程序uart

    本文利用星闪BS25开发板NL001测试一下官方sdk中的
    的头像 发表于 01-02 11:30 1260次阅读
    <b class='flag-5'>利用</b>星闪<b class='flag-5'>BS25</b><b class='flag-5'>开发板</b><b class='flag-5'>NL001</b><b class='flag-5'>测试</b>官方<b class='flag-5'>sdk</b>中的<b class='flag-5'>外设</b><b class='flag-5'>程序</b>uart

    S5P 6818嵌入式开发板开机白屏解决方法

    特性,使系统稳定工作于各种环境之下。强大的功能,丰富的外设接口,是用户熟悉 S5P6818 开发板软硬件环境的最佳选择。现象:刚开始接上电,屏幕下白屏然后正常显示开机logo,重启后有时也
    发表于 11-02 11:02

    串口通信中外设开发板串口通信是如何进行数据传输的?

    串口通信中外设开发板串口通信是如何进行数据传输的?在使用外设时怎样将外设的数据返回给开发板呢?
    发表于 07-07 07:58

    XL32F001开发板,高性能国产32位单片机,性价比超高

    XL32F001开发板是基于XL32F001单片机设计的一块开发板,搭载了XL32F001 TSSOP20封装这颗芯片。
    发表于 08-02 11:12

    解决BS25 1.0.T20.12版本开发工具默认SDK无法编译的问题

    本文介绍在BS25 1.0.T20.12版本开发工具下,默认的SDK无法编译的问题。
    的头像 发表于 11-08 09:40 558次阅读
    解决<b class='flag-5'>BS25</b> 1.0.T20.12版本<b class='flag-5'>开发</b>工具默认<b class='flag-5'>SDK</b>无法编译的问题

    如何用BurnTool给海思的星闪芯片BS25烧写程序

    本文介绍用BurnTool给海思的星闪芯片BS25烧写程序
    的头像 发表于 11-14 09:08 2155次阅读
    如何用BurnTool给海思的星闪芯片<b class='flag-5'>BS25</b>烧写<b class='flag-5'>程序</b>?

    海思星闪BS25开发板NL001初体验

    最近拿到了一块星闪BS25开发板NL001,做一个山寨版的“开箱”吧。
    的头像 发表于 11-15 10:01 3011次阅读
    海思星闪<b class='flag-5'>BS25</b><b class='flag-5'>开发板</b><b class='flag-5'>NL001</b>初体验

    华为星闪 SLE 开发板 BS25SDK 初探

    星闪BS25开发板SDK初步接触
    的头像 发表于 11-15 16:01 2135次阅读

    华为星闪SLE开发板BS25SDK初探2

    按照上一篇文章的接口定义连接鼠标标传感器 paw3395,SDK提供的样板程序“sel_mouse_with_dongle”能正常工作。
    的头像 发表于 11-18 12:08 1965次阅读

    解决星闪芯片BS25 1.0.T20.12版本开发工具默认SDK无法编译的问题

    本文介绍在BS25 1.0.T20.12版本开发工具下,默认的SDK无法编译的问题。
    的头像 发表于 11-21 09:08 695次阅读
    解决星闪芯片<b class='flag-5'>BS25</b> 1.0.T20.12版本<b class='flag-5'>开发</b>工具默认<b class='flag-5'>SDK</b>无法编译的问题