星闪开发入门级教程之安装编译器与小项目烧录

简介: 这是一篇关于星闪(新一代近距离无线连接技术)开发入门的教程,适合新手学习。文章从安装Hispark Studio编译器开始,详细讲解了环境配置、项目创建、代码修改及烧录过程。通过一个简单的红灯闪烁Demo,演示了GPIO控制和任务调度的基本用法。同时提供了功能代码解析,帮助理解LED高低电平控制原理。附有开发板相关资料链接,方便进一步学习。适合对嵌入式开发感兴趣的初学者参考实践。

系列文章目录

星闪开发入门级教程


好久不见,星闪-作为中国原生的新一代近距离无线联接技术品牌。我想着写点东西。为了适合新手,绝对小白文。


前言

前不久弄了星闪一个开发套件,引发了我的兴趣,找了一些资料,整理出一个小白的教程,以最简单的demo-红灯闪烁来写篇文章


一、Hispark Studio

下载并安装Hispark Studio编译器。

1.安装Hispark Studio

1.png

按照流程走下去

2.安装python环境

安装Hispark Studio过程中,程序会自动询问是否安装。
2.png

3.出现的一些问题

注意:安装路径尽量不要有中文。
3.png

1.cmake下载失败....

如果出现如下报错

===== [cmake下载失败,请下载对应的whl文件至任意目录,在该目录下打开命令提示符(cmd)执行“pip install cmake-3.20.5-py2.py3-none-win_amd64.whl”即可,
下载链接:https://files.pythonhosted.org/packages/65/7f/80cf681cd376834b442af8af48e6f17b4197d20b7255aa2f76d8d93a9e44/cmake-3.20.5-py2.py3-none-win_amd64.whl] ======
===== [pycparser下载失败,请下载对应的whl文件至任意目录,在该目录下打开命令提示符(cmd)执行“pip install pycparser-2.21-py2.py3-none-any.whl”即可,
下载链接:https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl] ======
===== [kconfiglib下载失败,请下载对应的whl文件至任意目录,在该目录下打开命令提示符(cmd)执行“pip install kconfiglib-14.1.0-py2.py3-none-any.whl”即可,
下载链接:https://files.pythonhosted.org/packages/8a/f1/d98a89231e779b079b977590efcc31249d959c8f1d4b5858cad69695ff9c/kconfiglib-14.1.0-py2.py3-none-any.whl] ======
===== [windowscurses下载失败,请下载对应的whl文件至任意目录,在该目录下打开命令提示符(cmd)执行“pip install windows_curses-2.3.3-cp311-cp311-win_amd64.whl”即可,
下载链接:https://files.pythonhosted.org/packages/18/1b/e06eb41dad1c74f0d3124218084f258f73a5e76c67112da0ba174162670f/windows_curses-2.3.3-cp311-cp311-win_amd64.whl] ======
======== [Python环境中的pip install异常,若添加后仍编译失败请关闭请关闭所有HiSpark Studio再打开重新执行编译] ======

解决:点击编译器中的网址,下载文件。
例:cmake-3.20.5-py2.py3-none-win_amd64.whl 如果下载在D盘
4.png

以此类推3次就能正常使用了。有出现python环境变量配置问题,这个相信大家都能搞定。

二、找个项目跑一跑

项目仓库地址点击跳转下载

1.新建工程

步骤图片如下:

点击小房子跳转此界面新建工程
5.png

2.选择WS63,工程路径选到src层级

6.png

点击编译按钮
7.png

可能会出现cmake下载失败....问题,见 一.3.1

3.将Demo中的相关文件夹放在peripheral文件夹下

将fbb_ws63-master\vendor\HiHope_NearLink_DK_WS63E_V03\demo中的led文件夹复制到
fbb_ws63-master\src\application\samples\peripheral文件夹下

8.png

4.peripheral目录下的 Kconfig文件中添加如下代码

config SAMPLE_SUPPORT_LED
    bool
    prompt "Support LED Sample."
    default n
    depends on ENABLE_PERIPHERAL_SAMPLE
    help
        This option means support LED Sample.

如图:
9.png

5.peripheral目录下的 CMakeLists.txt文件中添加如下代码

if(DEFINED CONFIG_SAMPLE_SUPPORT_LED)
    add_subdirectory_if_exist(led)
endif()

如下:
10.png

7.系统配置

操作如下图:选择Support LED Sample。
11.png

12.png

最后要记得点击save保存
12-1.png

9.编译一下

13.png

10.工程配置--为烧录做准备

将开发板用USB线插入电脑后
14.png

11.烧录(最后)

15.png

出现这句话后,需要按一下开发板上的按钮(图片中多写了个字)
16.jpg

等待.....
17.png

步骤完结。

三、让我们来看看功能代码

18.png
定义的一些变量

#define BLINKY_TASK_STACK_SIZE 0x1000
#define BLINKY_TASK_PRIO 24
#define BSP_LED 7                  // RED
#define CONFIG_BLINKY_DURATION_50MS 50

在whlie循环中

osal_msleep(CONFIG_BLINKY_DURATION_50MS);  //延时 为了闪烁的效果
uapi_gpio_toggle(BSP_LED);    //翻转给到高低电频

也可以换成如下代码:

uapi_gpio_set_val(BSP_LED,GPIO_LEVEL_HIGH);//给到高电频
osal_msleep(CONFIG_BLINKY_DURATION_50MS);  //延时 为了闪烁的效果
uapi_gpio_set_val(BSP_LED,GPIO_LEVEL_LOW);//给到低电频
osal_msleep(CONFIG_BLINKY_DURATION_50MS);  //延时 为了闪烁的效果

总结

‌RGB LED的高低电平控制问题‌主要涉及RGB LED在不同电平下的工作状态和显示效果。RGB LED由红、绿、蓝三种颜色的LED芯片组成,每种颜色的LED芯片都有其特定的电平要求。

有什么问题还请私信。

相关文章
|
6月前
|
Java Android开发
Android跑马灯的简单实现方式
本文介绍两种在Android中实现跑马灯效果的方法。第一种适用于从右至左滚动,要求字体长度超过控件长度,通过设置特定属性实现。第二种使用定时器调整padding值,实现更灵活的滚动方向。
358 19
|
6月前
|
Android开发
Android护眼模式(argb)
这是一篇关于实现护眼模式的技术文章。通过动态添加一个透明的帧布局(FrameLayout),并设置其不可触碰、不可聚焦,覆盖在应用界面之上。利用 `Color.argb()` 方法设置带有透明度的背景色,提供两种流行护眼色(浅绿和深绿)。开启护眼模式时,为帧布局设置计算好的颜色;关闭时恢复透明。若需全局生效,可在 BaseActivity 中初始化并调用相关方法。此方案简单高效,适合快速集成护眼功能。
252 1
|
6月前
|
XML 前端开发 Android开发
一篇文章带你走近Android自定义view
这是一篇关于Android自定义View的全面教程,涵盖从基础到进阶的知识点。文章首先讲解了自定义View的必要性及简单实现(如通过三个构造函数解决焦点问题),接着深入探讨Canvas绘图、自定义属性设置、动画实现等内容。还提供了具体案例,如跑马灯、折线图、太极图等。此外,文章详细解析了View绘制流程(measure、layout、draw)和事件分发机制。最后延伸至SurfaceView、GLSurfaceView、SVG动画等高级主题,并附带GitHub案例供实践。适合希望深入理解Android自定义View的开发者学习参考。
668 84
|
6月前
|
数据库 Android开发
Android使用EditText+Listview实现搜索效果(使用room模糊查询)
本文介绍如何在Android中使用EditText与ListView实现搜索功能,并结合Room数据库完成模糊查询。主要内容包括:Room的模糊查询语句(使用`||`代替`+`号)、布局美化(如去除ListView分割线和EditText下划线)、EditText回车事件监听,以及查询逻辑代码示例。此外,还提供了相关扩展文章链接,帮助读者深入了解ListView优化、动态搜索及Room基础操作。
481 65
|
6月前
|
Android开发 开发者
Android利用SVG实现动画效果
本文介绍了如何在Android中利用SVG实现动画效果。首先通过定义`pathData`参数(如M、L、Z等)绘制一个简单的三角形SVG图形,然后借助`objectAnimator`实现动态的线条绘制动画。文章详细讲解了从配置`build.gradle`支持VectorDrawable,到创建动画文件、关联SVG与动画,最后在Activity中启动动画的完整流程。此外,还提供了SVG绘制原理及工具推荐,帮助开发者更好地理解和应用SVG动画技术。
306 30
|
6月前
|
搜索推荐 Android开发 开发者
Android星级评分条RatingBar样式的改变及出现问题的解决方法
本文介绍了自定义 RatingBar 的实现方法,通过布局文件、layer-list 样式文件和 style 文件的配置完成个性化星星评分效果。关键步骤包括:1) 在布局文件中添加 RatingBar 并引用样式;2) 创建 layer-list 文件定义背景、次级进度和进度图片;3) 在 style 文件中定义 RatingBar 样式并应用到布局中。可能出现的问题及解决办法:直接报错通常是图片素材过大,调整尺寸即可;星星流眼泪是图片形状问题,需将图片置于透明圆形或正方形内重新组合。附有具体代码示例,方便开发者快速上手实现自定义评分组件。
280 12
|
6月前
|
Java API Android开发
Android使用DatePickerDialog显示时间
本示例展示了如何通过Android的Calendar类获取当前年月日,并使用DatePickerDialog实现日期选择功能。点击TextView弹出日期选择对话框,用户选择后更新显示。注意:Calendar.MONTH值从0开始,需加1修正。布局含一个TextView,Java代码完成日期获取、对话框创建与回调处理。
113 3
|
缓存 Linux
Centos7配置国内yum源和epel源
本篇内容记录了Centos7如何配置国内yum源和epel源。
13980 1
|
5月前
|
存储 前端开发 API
一篇文章实现Android图片拼接并保存至相册
本文详细介绍了一个Android图片拼接应用的实现过程,涵盖权限管理、图片选择、异步加载、拼接处理和保存至相册等功能。通过`ImageStitcher`类完成图片横向或纵向拼接,支持多张图片操作,并适配Android Q及以上版本的存储权限要求。代码结构清晰,包含关键步骤如权限检查、UI交互及MediaStore API使用,适合开发者快速上手并根据需求扩展功能。
159 5
|
6月前
|
API
微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
399 44