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

描述

内容简介

本文利用星闪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轮流点亮:

SDK

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

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

SDK

SDK

SDK

SDK

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

SDK

#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口,发现电平是有变化的,所以怀疑是驱动能力不够,检查硬件大概是这样的情况:

SDK

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

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

SDK

也没有把LED点亮。

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

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

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

 

  审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分