在星闪W63/W63E开发板上运行第一个OpenHarmony程序

星闪技术实战:用润和WS63开发板实现无线传感器网络(OpenHarmony 5.1环境) 本文详细介绍了如何利用润和WS63开发板和OpenHarmony 5.1系统构建星闪无线传感器网络。通过星闪技术的低功耗、高抗干扰特性,实现工业控制和智能家居等场景的可靠通信,包括环境搭建、模块配置、网络构建及功耗优化等实战内容。 阅读详情
AI摘要

本文介绍了星闪WS63E开发板在OpenHarmony环境下运行第一个程序的方法。先给出demolink示例,接着说明程序修改的5个步骤,包括修改任务堆栈大小、多个配置文件等,然后介绍编译、烧写程序的操作,最后重启开发板使程序运行,指出与hi3861的SDK有差异。

目录

引言

demolink示例

程序修改

修改任务堆栈的大小

修改示例程序的build.gn

修改App的build.gn

修改ohos.cmake

修改config.py

编译程序

烧写程序

程序运行

结语


引言

在前面的博文星闪WS63E开发板的OpenHarmony环境构建-优快云博客中介绍了如何构建W63E开发板的OpenHarmony环境,今天来尝试运行第一个程序。考虑到有很多朋友以前使用过hi3861系统,所以我主要说明两者在OpenHarmony下的区别。如果以前从来没有使用OpenHarmony开发过轻量级开发板,建议先从hi3861学起。

demolink示例

星闪OpenHarmony SDK里面带的例子其实都是hi3861的,毕竟hi3861是主线支持的芯片。这些例子在星闪派上运行要稍加修改才行。我测试的例子是applications/sample/wifi-iot/app/demolink。demolink这个例子的作用是打印hello world,不依赖I/O,所以最为简单。其基本流程如下图显示。

程序修改

要运行示例程序需要以下5个步骤,其中第2和第3步与hi3861一致,后两个是星闪SDK独有的。

修改任务堆栈的大小

修改applications/sample/wifi-iot/app/demolink/demosdk.c中的任务堆栈大小,由1000改为4000。1000这个大小在WS63上会导致无法创建任务。

//#define TASK_STACK_SIZE 1000
#define TASK_STACK_SIZE 4096

修改示例程序的build.gn

修改applications/sample/wifi-iot/app/demolink/BUILD.gn,将其static_library的名字和目录名一致,这步不是必须,但是修改后对后序处理有利。

static_library("demolink") {
  sources = [
    "demosdk.c",
    "demosdk_adapter.c",
    "helloworld.c",
  ]

  include_dirs = [ "//commonlibrary/utils_lite/include" ]
}

修改App的build.gn

修改applications/sample/wifi-iot/app/BUILD.gn,其默认的startup实际上什么也不做,此处加上demolink例子。

import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
  features = [ "demolink:demolink" ]
}

修改ohos.cmake

修改device/soc/hisilicon/ws63v100/sdk/libs_url/ws63/cmake/ohos.cmake文件(老版本的SDK为device\soc\hisilicon\ws63v100\sdkv100\libs_url\ws63\cmake\ohos.cmake),添加 `"demolink"`,如下:

elseif(${TARGET_COMMAND} MATCHES "ws63-liteos-app")
set(COMPONENT_LIST

        "begetutil"   "hilog_lite_static" "samgr_adapter" "bootstrap" "fsmanager_static" "hal_update_static" "hilog_static" "inithook"   "samgr_source"
        "broadcast" "hal_file_static"   "init_log"  "native_file" "udidcomm"
        "cjson_static" "hal_sys_param" "hichainsdk" "hota" "init_utils"  "param_client_lite"
        "hiview_lite_static" "hal_sysparam" "hievent_lite_static" "huks_3.0_sdk"   "samgr" "blackbox_lite" "hal_iothardware" "wifiservice"
        "hidumper_mini" "ble_lite"  "sle_lite" "demolink")
endif()

修改config.py

修改device/soc/hisilicon/ws63v100/sdk/build/config/target_config/ws63/config.py(老版本为device\soc\hisilicon\ws63v100\sdkv100\libs_url\ws63\cmake\ohos.cmake),加入“demolink":

       'ws63-liteos-app': {
        'base_target_name': 'target_ws63_app_rom_template',
        'os': 'liteos',
        'defines': [
            ......
        ],
        'ram_component': [
            .......
            'xo_trim_port',
            "mqtt",
            'printf_adapt', 
            "demolink"
        ],
        'ccflags': [
            "-DBOARD_ASIC", '-DPRE_ASIC',
        ],
        'application': 'application',
        'bin_name': 'ws63-liteos-app',
        'smaller': True,
        'hso_enable_bt': True,
        'hso_enable': True,
        'codesize_statistic': True,
        'nv_update':True,
        'generate_efuse_bin': True,
        'copy_files_to_interim': True

此处除了demolink, 还加上了printf_adapt。后者是确保printf会被转向到串口输出。海思的SDK默认是ws63-liteos-xts有printf_adapt,而ws63-liteos-app没有,这导致我最开始的程序啥也不输出,走了弯路。

编译程序

修改过这4个地方之后,就可以使用hb build -f命令进行编译了。如果想先clean再build,可以使用hb clean --clean-all或者hb clean --clean-out-product。如果以前用过hi3861开发的都应该有经验,如果不clean就build,可能会吧以前编译过的模块加进来,导致程序不正常。

烧写程序

可以使用官方的burntool软件(tools · HiHopeORG/NearLink - 码云 - 开源中国)在Windows下烧写程序。

烧写前需要选择菜单“Option|Change chip”将芯片类型改为WS63。

剩下的设置参见下图:

点击Connect按钮后,再按下板子上的reset键就可以下载程序了。 

如果希望在Linux下进行烧写,可以使用网友开发的软件:GitHub - geekheart/xf_burn_tools: ws63 automatic burning softwareicon-default.png?t=O83Ahttps://github.com/geekheart/xf_burn_tools

程序运行

再次按下reset重启开发板,就可以运行程序了,下面是串口打印输出,可以从中看到我们想要的那两句打印信息。


boot.
Flash Init Fail! ret = 0x80001341
verify_public_rootkey secure verify disable!
verify_params_key_area secure verify disable!
verify_params_area_info secure verify disable!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
SSB Uart Init Succ!
SSB Flash Init Succ!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
Flashboot Uart Init Succ!
Flashboot Malloc Init Succ!
Flash Init Succ!
No need to fix SR!
flashboot version : 1.10.101
[UPG] upgrade init OK!
No need to upgrade...
flash_encrypt disable.
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
APP|Debug uart init succ.
[UPG] upgrade init OK!
APP|init_dev_addr, mac_addr:0xab,0x 0,0x73,0xbc,0x**,0x**,
xo_trim_temp_comp val:0 0
[osal_irq_request:57]:LOS_HwiCreate failed! irq[53] ret = 0x2000904.
                                                                    APP|AT uart init succ.
los_at_plt_cmd_register EXCUTE
[osal_msg_queue_create:25]:qName:dfx_msg qID=0x0
APP|=========FS MOUNT=========
LFS [E]:fs init failed, ret = 0xffffffff
LFS [E]:lfs_format failed, ret = -28
LFS [E]:lfs_mount failed, ret = -84
APP|=========FS READY=========
APP|WARNING: main_initialise::thread[11] func is null
hilog will init.

                hievent will init.

                                  hievent init success.
                                                       LFS [E]:lfs_file_open failed, ret = -2147483647, name = tmp_persist_parameters
LFS [E]:lfs_file_open failed, ret = -2147483647, name = persist_parameters
LFS [E]:lfs_file_open failed, ret = -2147483647, name = persist_parameters
Please implement the interface according to the platform!
                                                         it is demosdk entry.
                                                                             cpu 0 entering scheduler
                                                                                                     [osal_msg_queue_create:25]:qName:BthChannel qID=0x4
[osal_msg_queue_create:25]:qName:BtcChannel qID=0x5
[osal_msg_queue_create:25]:qName:BthChannel qID=0x6
[osal_msg_queue_create:25]:qName:BtcChannel qID=0x7
[osal_irq_request:57]:LOS_HwiCreate failed! irq[46] ret = 0x2000904.
                                                                    APP|btc open
hiview init success.
                    it is demo biz: hello world.
                                                [RADAR_LOG] alg ctrl read from nv [1][2][0][0][1][1][20]
[osal_kthread_set_priority:59]:parameter invalid!
                                                 [osal_kthread_set_priority:59]:parameter invalid!
                                                                                                  device_main_init: 0!
===hal_initialize_phy===225===
device_module_init:: succ!
cali_set_cali_mask:old[0x0] -> new[0x1fa2]

fe_rf_initialize
cali_offline_cali_entry enter
cali_set_cali_done_flag:old[0x0] -> new[0x1]

rf cali OK. time cost:23, ret:0

结语

虽然为WS63开发板所使用的hi3863芯片和hi3861非常相似,但是两者的OpenHarmony SDK还是有很多不同,结果一番折腾,也算是让程序运行起来了。后面有时间的话,就给大家多演示几个例子。

基于 OpenHarmony 5.0 的星闪轻量型设备应用开发-Ch1 开发环境搭建 HH-SPARK-WS63 星闪无线模组(以下简称 WS63)是由润和软件推出的基于海思 WS63V100 SoC 的面向星闪开发爱好者的芯片。WS63 的工程构建,可以选择在 Ubuntu 系统下,选用基于润和软件提供的 OpenHarmony 版本的 SDK;也可以选择在 Windows 系统下,使用 HiSpark Studio 软件,并搭配基于统一开发平台FBB(Family Big Box,统一开发框架,统一API)构建而来的 SDK,fbb_ws63。 阅读详情

相关推荐

从Hi3861到WS63:国产嵌入式平台的迁移策略与实战避坑指南

本文详细解析了从华为海思Hi3861到WS63国产嵌入式平台的迁移策略与实战经验。重点对比了硬件架构、系统驱动及多模通信的差异,提供了代码适配、性能优化和常见问题解决方案,帮助开发者高效完成平台过渡并充分利用WS63的星闪等新特性。

h9j8k7l6m5n的博客 814

00.海思WS63芯片平台介绍

海思Hi3863V100是一款多模物联网SoC芯片,集成Wi-Fi 6(802.11ax)、星闪SLE 1.0和BLE 5.2三模通信协议,支持240MHz RISC-V主控核心、606KB SRAM和4MB Flash存储。其增强版Hi3863EV100新增雷达人体检测功能(6米动态/3米静态)。芯片采用QFN40封装,适用于智能家电、工业传感器等场景,具备114.7Mbps Wi-Fi 6速率、5ms超低时延星闪通信和256节点组网能力,并提供一键配网、异常诊断等开发便利。配套OpenHarmony

Havi 3551

基于 OpenHarmony 5.0 的星闪轻量型设备应用开发——Ch3 设备驱动开发

“设备”是相对于 WS63E 模组而言的其他硬件资源。这些“设备”可以是 LED 灯,也可以是蜂鸣器,亦或是温湿度传感器。如果想通过编写运行在 WS63E 上的 OpenHarmony 框架代码,用于控制这些设备的工作状态或能力,就需要进行设备驱动的开发。对 WS63E 而言,这些设备与之进行数据交互的通道就是 IO 引脚。基于 OpenHarmony 的 WS63E 设备驱动开发就是通过对相应 IO 引脚进行模式配置,数据赋值,数据读取,中断配置等一系列的操作。从本章开始,将以石院星闪物联网教学开发板为例

北斗星的杂志 2490

【星闪开发连载】WS63E开发板开箱与程序烧录

HiSpark Studio的使用和原来的DeviceTools差别不大,早就听华为的技术人员说,海思有款魔改的DeviceTools,看来就是这个了。烧写完成后,无需其他的串口调试工具,只要在监视器的窗口选择好串口,然后点击开始监视就可以看到开发板打印的日志了。目前基于星闪的手机还很少见,海思也没有开放手机侧的资料,所以暂时只能做星闪设备之间的测试。物联网套件的配置和润和的智能家居配置差不多,看上去连底板都是一样的,只有核心板不同。今天的测试先到这里,后续再研究。

研究兴趣:智能物联网、嵌入式系统、人工智能 5592

手把手教你用Microsoft AEC Challenge数据集训练自己的回声消除模型(附完整代码)

本文详细介绍了如何使用Microsoft AEC Challenge数据集训练专业的回声消除模型,包括环境准备、数据清洗、模型架构设计、训练流程和实际部署注意事项。通过完整的代码示例和实战指南,帮助开发者快速掌握AEC技术,提升语音通信系统的回声消除效果。

weixin_27697385的博客 456

uds协议之can总线程序升级

uds协议简介 如何利用uds协议升级 升级流程 uds服务类型介绍

fangye945a的博客 1万+

星闪派是什么?星闪与蓝牙的对比!一站式了解星闪开发板

​ 哈喽,大家好,相信很多新手开发者都有一个疑问,什么是星闪?星闪技术相比于传统的WiFi和BLE有什么区别和优势?​ 首先,回答第一个问题,星闪(NearLink),是中国原生的新一代无线短距通信技术。面向万物互联时代,星闪引入关键技术和创新理念,赋予智能终端新的连接方式。(图片来源:海思官网)​ 第二个问题,我们从星闪的系统架构来看,在图中NearLink一共有基础应用层、基础服务层、星闪接入层。

Havi 1万+

订餐平台餐厅信息抓取:使用Python爬虫获取商家信息和用户评价

在这篇博客中,我们展示了如何使用Python爬虫抓取订餐平台上的餐厅信息和用户评价数据。通过使用requests和Selenium,我们能够有效地从静态和动态网页中提取数据,并使用pandas和matplotlib对数据进行存储和分析。未来,您可以根据需求进一步扩展功能,例如增加错误处理、增加抓取多个页面的能力,或者使用高级技术如分布式爬虫来抓取更大规模的数据。

2201_76125261的博客 1651

收到星闪体验官贡献奖的奖品了

今天收到华为海思寄来的星闪体验官贡献奖的奖品了。我在8-10月之间参加了星闪体验官的活动,测试了最新的星闪W63E开发板,在博客上也做了分享。最后的作品是星闪网关,获得了贡献奖。这次作品比预想的要简单些,主要是两个原因:一个是申请的时候不知道星闪W63E开发板的参数,所以有些功能这个开发板支持不了,另一个是开学后特别忙,有些功能没有来得及实现。不过总体上来说,测试还算顺利,对星闪技术有了更多的了解。这个泡茶杯虽然叫星闪版,但是没有星闪手机也可以用。用法有的特殊,泡茶的时候要倒过来放。

研究兴趣:智能物联网、嵌入式系统、人工智能 754

Flow Matching05:概率路径与插值【概率路径:线性插值路径(最简单)、高斯插值路径】【先尝试线性插值,看效果如何;若不够好,尝试高斯插值】

好的,我将从数学角度详细解释Flow Matching,从高中生能理解的基础知识开始,逐步深入到高级概念。

u013250861的博客 173

采样率转化代码C++(有理倍数,升采样、降采样均可)

【代码】采样率转化(有理倍数,升采样、降采样均可)

goudahai的专栏 547

源师兄L1开源教学开发板深度解析:海思WS63硬件平台、引脚定义与OpenHarmony开发资源全览

源师兄L1是继L0(大师兄)之后推出的全新升级版开源教学开发板,以华为海思 WS63 芯片为核心,运行 OpenHarmony 4.1 操作系统,并集成了 Wi-Fi 6、星闪(NearLink)、蓝牙 HID 等无线能力。本篇技术指南以仓库根目录 [README.md](https://link.gitcode.com/i/5b020fd3809b989dfc72d703b2e3e6d2) 为骨

gitblog_00782的博客 433

【Bug已解决】Claude Team Plan 购买席位报错 Payment failed 解决方案

方案适用场景推荐指数检查账单历史状态排查的第一步⭐⭐⭐⭐⭐更换支付方式类型快速尝试是否能绕开问题⭐⭐⭐联系官方支持团队最终解决问题的正规渠道⭐⭐⭐⭐⭐临时过渡方案紧急用人需求的应急处理⭐⭐⭐关注官方修复进度确认属于系统性缺陷的场景⭐⭐⭐⭐Claude Team Plan 增购席位报的问题,社区反馈和实际排查表明很大概率属于平台计费系统在处理按比例分摊费用这类复杂计算链路时的系统性缺陷,而不是用户自身的支付信息填写有误。先排除自身账单历史是否存在异常。

一键难忘的博客 4181

【星闪开发连载】海思发布了WS63E 星闪开发板的SDK

fbb_ws63代码仓为支持WS63和WS63e解决方案SDK,该SDK包从统一开发平台FBB(Family Big Box,统一开发框架,统一API)构建而来,在该平台上开发的应用很容易被移植到其他星闪解决方案上,有效降低开发者门槛,缩短开发周期,支持开发者快速开发星闪产品。目前这个仓库是基于LiteOS的,海思没有说如何将它和OpenHarmony进行集成,不过考虑到LiteOS和OpenHarmony的密切关系,估计这个集成存在的方案应该会很快出现。发了开箱视频,还没有拿到开发板的朋友可以去看看。

研究兴趣:智能物联网、嵌入式系统、人工智能 4578

YOLO与ORB-SLAM3的结合:实现动态环境下的目标检测与视觉SLAM

摘要: 本文介绍如何将YOLOv5目标检测与ORB-SLAM3视觉SLAM系统结合,实现动态环境下的机器人感知与定位。内容包括:源码下载(集成项目YOLO_ORB_SLAM3)、libtorch安装(PyTorch C++支持)、编译配置(解决路径依赖问题)、ROS环境下的部署(Noetic适配),以及使用TUM数据集的测试流程(RGB-D数据关联与运行)。重点解决编译时Torch路径错误、ROS与Anaconda冲突等问题,并展示系统运行效果。该整合方案为动态场景SLAM提供目标检测能力,未来可优化检测模

FJN110的博客 960

3、灵巧手的设计与构造

本文详细探讨了灵巧手的设计与构造,包括多指结构、关节和连杆设计、传感器集成以及分层控制架构等内容。同时,通过工业装配、医疗手术辅助和日常生活辅助等实际应用案例,展示了灵巧手的灵活性和适应性,并分析了当前设计面临的挑战及未来发展方向。

brandy的博客 490

Linux下编译海思WS63 SDK全攻略

本文介绍了在Linux环境下编译海思WS63 SDK的方法。作者基于Ubuntu 20.04系统,使用华为云开发者云电脑作为编译环境,详细说明了环境准备和编译步骤。重点解决了编译过程中遇到的UTF-8编码问题,通过修改mem_stats.py脚本添加errors='ignore'参数来忽略非法字符。文章还提供了编译目标列表和烧录镜像说明,经实际测试验证该方法可行。这为Windows下编译失败的情况提供了备用方案。

研究兴趣:智能物联网、嵌入式系统、人工智能 1818

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【星闪 LiteOS 开发】入门第二课:WS63 WiFi-STA 与 HTTP 通信

本文介绍了如何将星闪WS63代码仓中的wifi sta sample和http案例结合起来,将wifi sta做成一份组件,仅需要修改宏定义就可以连接指定的2.4GHz网络,然后进行HTTP Get请求天气预报,获取实时天气情况

2301_80981021的博客 2505

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【星闪开发连载】WS63E模块的雷达功能浅析

从开发板的图片上可以看到,右下角有个安装雷达天线的地方,使用使用1代IPEX接口。润和的套件里面没有带天线,从我的测试看没有天线,其实雷达功能是不正常的。所以下单了一根天线,今天只是简单分析一下程序,等天线到了之后再详细测试。海思没有公布雷达运动感知的工作原理,但是这个雷达运动感知功能必须和WiFi 一起工作,如果不启动WiFi,雷达功能就无法启动。WiFi可以工作在STA或AP模式,WiFi不一定要连接上,只要启动即可。

研究兴趣:智能物联网、嵌入式系统、人工智能 4967

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【星闪开发连载】WS63E模组的速度测试

目录​编辑引言程序工作原理测试记录结语 今天终于又有点时间了,来测试一下星闪的数据传输速度。前面的博文已经分析了星闪的传输示例sle_uuid_client和sle_uuid_server,如果对星闪程序还不了解,可以先看看【星闪开发连载】SLE_UUID_Server和SLE_UUID_Client程序分析_sle广播功能-优快云博客。我用来测试速度的程序也来自官方的例子sle_speed_client和sle_speed_server。这两个例子和sle_uuid_client和sle_uuid_se

研究兴趣:智能物联网、嵌入式系统、人工智能 3954

星闪WS63开发板IO管脚查找指南

本文介绍了如何通过原理图查找润和WS63开发板的I/O控制管脚。由于WS63采用Hi3861开发板底板但不完全兼容,需要额外查阅资料来确定管脚对应关系。文章以NFC传感器为例,详细演示了通过核心板、底板和外设板的原理图,逐步查找对应管脚的方法,并指出了WS63与Hi3861在I2C总线等接口上的差异。最后提供了WS63的I/O复用表,帮助开发者正确移植Hi3861程序到星闪派平台。

研究兴趣:智能物联网、嵌入式系统、人工智能 2786

WS73在Linux SOC下驱动移植的详细教程基于SDIO协议--WIFi网卡、蓝牙BLE、星闪SLE

本篇文章讲述了如何在Linux移植ws73模组安装驱动,实现Wifi网卡,蓝牙,星闪的无线通信的功能。

iikat的博客 3971

星闪WS63E开发板的OpenHarmony环境构建

除了上文提到的问题,总体来说,编译过程还算顺利。后面会尝试烧写和写点测试程序。

研究兴趣:智能物联网、嵌入式系统、人工智能 4251

OpenHarmony海思WS63星闪平台:EasyLogger 移植到海思 WS63 平台完整指南

在海思 WS63一类Wi-Fi / 星闪 SoC上跑应用时,调试与现场排障高度依赖串口日志:既要能在多线程环境下安全打印,又希望尽量少占 RAM、不把 UART 写操作拖慢业务线程。EasyLogger是嵌入式领域常用的轻量级日志库,通过可裁剪的配置与异步输出能较好平衡这些需求。本文面向在本仓库(xiaohong+ WS63 SDK)或同类EasyLogger是什么、适合什么场景;如何在本工程形态下完成移植与编译集成;elog_cfg.h与在 WS63 上的注意点;

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 563

极客星闪 | 见地:速率翻 6 倍,时延破毫秒?深挖星闪底层“黑科技”

Hi3863V100是海思推出的多模SoC芯片,集成Wi-Fi6、星闪(SLE)和蓝牙5.2,采用240MHz RISC-V核心及4MB Flash。支持三模并发,具备低时延(<5ms)、高吞吐(12Mbps)特性,适用于智能家居、工业网关等场景。开发资源丰富,提供完整硬件参考设计,支持OpenHarmony开发。增强版Hi3863EV100还具备雷达人体检测功能。该芯片在多协议融合、连接性能和开发便利性方面具有显著优势。

Havi 1418

WS63开发指南:深入理解构建系统与组件裁剪优化

本文介绍华为海思WS63 IoT芯片SDK的编译优化方法。通过分析其Python+CMake构建系统,重点讲解组件配置机制,特别是"删除标记语法"(如"-:组件名")的使用技巧。文章将WS63组件分为可安全删除(如lvgl、雷达相关)、视需求删除(如蓝牙相关)和核心组件三类,并提供WiFi IoT设备的精简配置示例,预计可节省40-60%的编译时间。这种精准裁剪方法既能保持核心功能,又能显著提升开发效率。

研究兴趣:智能物联网、嵌入式系统、人工智能 615
上一篇: 使用 VSCode 通过 Remote-SSH 连接如何上传文件到远程服务器
下一篇: 在PowerShell下运行curl命令出现错误:Invoke-WebRequest : 无法处理参数,因为参数名称“u”具有二义性
神一样的老师
神一样的老师 优质创作者: 嵌入式与硬件开发技术领域 优质创作者: 嵌入式与硬件开发技术领域
博客等级 码龄8年 5357粉丝 597原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值