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
    +关注

    关注

    14

    文章

    2106

    浏览量

    124315
  • HarmonyOS
    +关注

    关注

    79

    文章

    1967

    浏览量

    30006
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    6901
收藏 人收藏

    评论

    相关推荐

    Wi-Fi 7与Wi-Fi 6E有什么区别

    也许很多人还在考虑是否要将使用的Wi-Fi设备升级到Wi-Fi 6或Wi-Fi 6E,而这些标准的继任者却已经开始“登堂入室”了。Wi-Fi 7是新一代
    的头像 发表于 11-07 11:38 459次阅读

    基于51单片机的多模式音乐跑马灯

    具体实现功能 1、16个发光二极管做跑马灯跑马灯有10种模式。 2、按键可以切换跑马灯模式,且跑马灯速度可以用按键进行控制。 3、数码管显示当前的
    的头像 发表于 10-22 14:10 251次阅读
    基于51单片机的多模式音乐<b class='flag-5'>跑马灯</b>

    DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册

    电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册.rar》资料免费下载
    发表于 05-30 17:53 1次下载
    DA16200 超低功耗 <b class='flag-5'>Wi-Fi</b> 模块开发<b class='flag-5'>套件</b> Pro数据手册

    华为获得全球首个国际Wi-Fi联盟WFA企业级Wi-Fi 7认证!

    Wi-Fi联盟已发布Wi-Fi 7认证标准,华为是第一批送测厂商,获得业界首个企业级Wi-Fi 7 的Wi-Fi联盟官方认证。
    的头像 发表于 04-28 10:17 635次阅读
    华为获得全球首个国际<b class='flag-5'>Wi-Fi</b>联盟WFA企业级<b class='flag-5'>Wi-Fi</b> 7认证!

    验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦

    验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
    的头像 发表于 04-11 12:01 1652次阅读
    验证物联网<b class='flag-5'>Wi-Fi</b> HaLow用例的MM6108-EKH08开发<b class='flag-5'>套件</b>来啦

    Wi-Fi 7与Wi-Fi 6的相关知识科普

    科普:Wi-Fi 7 vs. Wi-Fi 6,青出于蓝
    的头像 发表于 03-12 10:59 686次阅读
    <b class='flag-5'>Wi-Fi</b> 7与<b class='flag-5'>Wi-Fi</b> 6的相关知识科普

    Wi-Fi的诞生与发展

    短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
    的头像 发表于 03-07 08:26 1128次阅读
    <b class='flag-5'>Wi-Fi</b>的诞生与发展

    WI-FI基础知识及飞易通SOC模块

    =8bits) 第二代:以IEEE 802.11b为准,工作频段为2.4GHz, 最高速率半双工11Mbit/s,认证项目为“Wi-Fi CERTIFIED b” 第三代:以IEEE 802.11a为准,工作频段为5GHz,最高速率
    的头像 发表于 03-01 15:01 678次阅读
    <b class='flag-5'>WI-FI</b>基础知识及飞易通SOC模块

    Wi-Fi HaLow和传统Wi-Fi的区别

    Wi-Fi HaLow和传统Wi-Fi的区别  Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
    的头像 发表于 02-02 15:28 1107次阅读

    康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi

     康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
    的头像 发表于 01-23 14:10 699次阅读

    BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?

    想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。 浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。 在
    发表于 01-22 06:19

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。Wi-Fi
    的头像 发表于 12-09 16:09 2187次阅读

    为何工程师测试PLC都喜欢用跑马灯程序?

    工程师在测试PLC时经常使用跑马灯程序,主要有以下几个原因: (1)简单易懂:跑马灯程序是一种非常简单的程序,通过控制不同的输出点依次亮灭,模拟了跑马灯的效果。这种程序易于理解和实现,使得工程师能够
    的头像 发表于 12-06 08:35 478次阅读

    [半导体前端工艺:第三篇] 光刻——半导体电路的绘制

    [半导体前端工艺:第三篇] 光刻——半导体电路的绘制
    的头像 发表于 11-29 11:25 609次阅读
    [半导体前端工艺:<b class='flag-5'>第三篇</b>] 光刻——半导体电路的绘制

    什么是2.4 GHz Wi-Fi? 如何提升2.4 GHz Wi-Fi的性能?

    什么是2.4 GHz Wi-Fi?2.4 GHz Wi-Fi的优势 2.4 GHz Wi-Fi的劣势 如何提升2.4 GHz Wi-Fi的性能?2.4 GHz和5 GHz
    的头像 发表于 11-27 17:09 2291次阅读