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

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

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第三篇 跑马灯

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-04 17:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:小水滴1016, 帖子地址:https://bbs.elecfans.com/jishu_2008655_1_1.html


弄了半天,VSCode中还是识别不了串口,只好放弃,采用Ubuntu中编译,Windows中使用HiBurn来烧写。

拿到开发板通常第一件事儿都是写个helloWorld的程序,点个灯
我也不例外,搞了个跑马灯。
代码如下:
led_demo.c

  1. #include
  2. #include
  3. #include "ohos_init.h"
  4. #include "cmsis_os2.h"
  5. #include "wifiiot_gpio.h"
  6. #include "wifiiot_gpio_ex.h"
  7. #define LED_TASK_STACK_SIZE 512
  8. #define LED_TASK_PRIO 25
  9. enum LedState {
  10. LED_ON = 0,
  11. LED_OFF,
  12. LED_SPARK,
  13. };
  14. static void *LedTask(const char *arg)
  15. {
  16. (void)arg;
  17. while (1) {
  18. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, 1);
  19. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, 0);
  20. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_12, 0);
  21. usleep(300000);
  22. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, 0);
  23. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, 0);
  24. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_12, 1);
  25. usleep(300000);
  26. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, 0);
  27. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, 1);
  28. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_12, 0);
  29. usleep(300000);
  30. }
  31. return NULL;
  32. }
  33. static void led_demo(void)
  34. {
  35. osThreadAttr_t attr;
  36. GpioInit();
  37. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_IO_FUNC_GPIO_10_GPIO);
  38. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_IO_FUNC_GPIO_11_GPIO);
  39. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_IO_FUNC_GPIO_12_GPIO);
  40. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_DIR_OUT);
  41. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_DIR_OUT);
  42. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_GPIO_DIR_OUT);
  43. attr.name = "LedTask";
  44. attr.attr_bits = 0U;
  45. attr.cb_mem = NULL;
  46. attr.cb_size = 0U;
  47. attr.stack_mem = NULL;
  48. attr.stack_size = LED_TASK_STACK_SIZE;
  49. attr.priority = LED_TASK_PRIO;
  50. if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) {
  51. printf("[LedExample] Falied to create LedTask!
  52. ");
  53. }
  54. }
  55. SYS_RUN(led_demo);
复制代码
led_demo文件夹中

BIULD.gn
  1. # Copyright (c) 2020 Huawei Device Co., Ltd.
  2. # Licensed under the Apache License, Version 2.0 (the "License");
  3. # you may not use this file except in compliance with the License.
  4. # You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software
  9. # distributed under the License is distributed on an "AS IS" BASIS,
  10. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. # See the License for the specific language governing permissions and
  12. # limitations under the License.
  13. static_library("led_demo") {
  14. sources = [
  15. "led_demo.c"
  16. ]
  17. include_dirs = [
  18. "//utils/native/lite/include",
  19. "//kernel/liteos_m/components/cmsis/2.0",
  20. "//base/iot_hardware/interfaces/kits/wifiiot_lite",
  21. ]
  22. }
复制代码
同时,也要将app文件夹中的编译脚本文件BUILD.gn修改一下,在features中添加以下内容:
"led_demo:led_demo",
  1. # Copyright (c) 2020 Huawei Device Co., Ltd.
  2. # Licensed under the Apache License, Version 2.0 (the "License");
  3. # you may not use this file except in compliance with the License.
  4. # You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software
  9. # distributed under the License is distributed on an "AS IS" BASIS,
  10. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. # See the License for the specific language governing permissions and
  12. # limitations under the License.
  13. import("//build/lite/config/component/lite_component.gni")
  14. lite_component("app") {
  15. features = [
  16. "startup",
  17. "led_demo:led_demo",
  18. ]
  19. }
复制代码
添加完之后,返回CODE-1.0目录,在终端中输入以下命令:python build.py wifiiot
编译即可;
然后,返回Windows,用hiburn烧录即可。
第三篇完结,下一步,OLED,未完待续……




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

    关注

    15

    文章

    2379

    浏览量

    128899
  • HarmonyOS
    +关注

    关注

    80

    文章

    2146

    浏览量

    35576
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7688
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术

    ,美国联邦通信委员会(FCC)投票通过将6GHz频谱划为免许可频段供Wi-Fi使用,这标志着Wi-Fi正式进入“频”时代——除Wi-Fi 6及前代技术使用的2.4GHz和5GHz频段
    发表于 09-19 18:29 1320次阅读
    浅谈<b class='flag-5'>Wi-Fi</b> 6E与<b class='flag-5'>Wi-Fi</b> 7的关键器件——BAW滤波器新技术

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    LitePoint Wi-Fi测试软件减轻客户设计负担

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 895次阅读
    LitePoint <b class='flag-5'>Wi-Fi</b>测试软件减轻客户设计负担

    有没有什么修复方法可以确保 AP 模式下的 Wi-Fi 和 BLE 连接同时正常工作?

    我正在使用 CYBSYSKIT DEV 01 套件。我尝试在 AP 模式下打开 Wi-Fi 并宣传 BLE。我可以宣传 SoftAP 和 BLE。但是,我无法从中央设备连接到 BLE。它可以立即连接并断开连接。有没有什么修复方法可以确保 AP 模式下的
    发表于 07-17 06:13

    科普|公司的Wi-Fi,为什么这么慢?

    大家在公司上班,经常会使用到Wi-Fi。最近这几年,随着时代的发展,高清视频会议等大带宽网络应用越来越普遍。而公司的网络,却非常不给力,频繁卡顿,严重影响使用体验。哪怕IT的同事已经把网络优化得很
    的头像 发表于 06-20 06:06 1059次阅读
    科普|公司的<b class='flag-5'>Wi-Fi</b>,为什么这么慢?

    Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1

    。2021年,Wi-Fi 6E 横空出世,凭借6GHz 频带的独特优势,使Wi-Fi 正式迈入真频 (Real Tri-Band) 共存的通信技术时代。2024年,科学家们再次凭借着4096QAM
    发表于 06-13 11:09

    华为加速Wi-Fi 7技术在行业场景的应用

    华为数据通信创新峰会2025期间,华为面向中东中亚地区举办第三季“Imagine Wi-Fi 7 to Reality”创新应用大赛颁奖典礼,9位参赛者凭借Wi-Fi 7的应用创新成果脱颖而出并获奖。会上,华为同步发布第四季赛事
    的头像 发表于 05-21 16:09 999次阅读

    Wi-Fi HaLow如何突破传统Wi-Fi性能瓶颈?

    视频推荐在万物互联的时代,传统Wi-Fi在覆盖范围、功耗、连接数上渐显不足。而Wi-FiHaLow的诞生,正在用黑科技打破传统Wi-Fi的性能瓶颈!今天,我们一起来探究Wi-FiHaL
    的头像 发表于 04-22 11:38 729次阅读
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破传统<b class='flag-5'>Wi-Fi</b>性能瓶颈?

    基于 Wi-Fi 的定位服务

    定位服务有种精度模式:低精度、正常精度和高精度。精度越高,设备的耗电量就越大,但根据经验,我们知道所有精度模式的耗电量都高于 Wi-Fi 和蜂窝定位服务。在 GNSS 定位服务测量中,我们预计即使
    发表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服务

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通过利用 nRF Cloud 的优化定位算法,基于 Nordic SoC 和 模组的产品可在定位用例
    发表于 04-17 15:07

    Wi-Fi 定位服务

    Wi-Fi 是一种著名的无线网络技术,用于设备的局域网和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。 Wi-Fi 定位是一种
    发表于 04-17 15:01

    推出了期待已久的 nRF7002 低功耗Wi-Fi 6

    。Matter是苹果、亚马逊、谷歌、Nordic、星和消费者物联网中数百家其他公司倡导的协议。 2022 年 8 月,我们宣布进入 Wi-Fi 无线物联网市场,推出了期待已久的 nRF7002
    发表于 03-26 11:00

    华为海思正式进入Wi-Fi FEM赛道?

    大家都知道了,2018年11 月离开锐迪科(RDA),前往福建晋江创立三伍微,专注于Wi-Fi射频前端芯片,从路由器Wi-Fi FEM,到手机Wi-Fi FEM,再到IoT FEM全覆
    发表于 12-11 17:42

    摩尔斯微电子发布Wi-Fi HaLow评估套件,加速物联网开发

    近日,全球领先的Wi-Fi HaLow解决方案提供商摩尔斯微电子正式推出一款开创性的评估套件——MM6108-EKH05。这款完全整合的开发平台,旨在推动各行业物联网解决方案的快速发展
    的头像 发表于 12-11 13:40 1052次阅读

    Wi-Fi 4到Wi-Fi 7:网速飙升40倍的无线革命

    1 Wi-Fi技术的快速发展 每一代新的Wi-Fi协议发布,都会带来更高的无线速率。   从Wi-Fi 4到Wi-Fi 7:无线网络技术显著提升,实现了网速的巨大飞跃。    
    的头像 发表于 12-09 10:10 1608次阅读
    从<b class='flag-5'>Wi-Fi</b> 4到<b class='flag-5'>Wi-Fi</b> 7:网速飙升40倍的无线革命