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

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

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】交通灯

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-01 15:24 次阅读
本文来源电子发烧友社区,作者:华仔stm32, 帖子地址:https://bbs.elecfans.com/jishu_2283601_1_1.html


【目的】学习控制GPIO电平的高低,点亮交通灯板上的三个灯。
1、新建工程:
在Hispark目录下新建一个文件夹,把HiHope_WiFi-IoT_Hi3861SPC024 SDK的所有文件复制到这个文件夹下:
pYYBAGKS3vqAFXz9AAFr5hvZvQY357.png
2.打开 LiteOS Studio,点击文件->打开文件夹,选择 led_control_demo 文件夹,打开后,工程栏显示如下图所示。

pYYBAGKS32iAPyJpAAJ3H01a3oM250.png
3.在 led_control_demoappdemoinitapp_io_init.c 文件里,app_io_init(hi_void)函数里对 GPIO 10 、11、12进行初始化。GPIO 10 、11、12初始化如下图所:

poYBAGKS38CAYvLFAAFLaD6T7fQ797.png
4.初始化完成后,在 led_control_demoappdemosrc 目录下鼠标右键选择新建文件,新建app_demo_led_control.c 文件,文件如下:(我建议第一次写的同学,不要直接复制,最好自己录一遍,这样对liteos加深印象)。

  1. #include
  2. #include
  3. #include
  4. #includetime.h>
  5. #include
  6. #include
  7. #define LED_LIGHT_DELAY_500MS (500*1000)
  8. #define hi_unuse_param(p)((p) = (p))
  9. #define LED_CONTROL_TASK_SLEEP_20MS (20)
  10. #define LED_CONTROL_TASK_SIZE (1024)
  11. #define LED_CONTROL_TASK_PRIO (28)
  12. hi_u32 g_led_control_id;
  13. hi_void led_control(hi_void)
  14. {
  15. hi_gpio_set_ouput_val(HI_GPIO_IDX_10, HI_GPIO_VALUE1);
  16. hi_udelay(LED_LIGHT_DELAY_500MS);
  17. hi_gpio_set_ouput_val(HI_GPIO_IDX_10, HI_GPIO_VALUE0);
  18. hi_udelay(LED_LIGHT_DELAY_500MS);
  19. hi_gpio_set_ouput_val(HI_GPIO_IDX_12, HI_GPIO_VALUE1);
  20. hi_udelay(LED_LIGHT_DELAY_500MS);
  21. hi_gpio_set_ouput_val(HI_GPIO_IDX_12, HI_GPIO_VALUE0);
  22. hi_udelay(LED_LIGHT_DELAY_500MS);
  23. hi_gpio_set_ouput_val(HI_GPIO_IDX_11, HI_GPIO_VALUE1);
  24. hi_udelay(LED_LIGHT_DELAY_500MS);
  25. hi_gpio_set_ouput_val(HI_GPIO_IDX_11, HI_GPIO_VALUE0);
  26. hi_udelay(LED_LIGHT_DELAY_500MS);
  27. }
  28. /* 方法一 */
  29. hi_void app_demo_led_control(hi_void)
  30. {
  31. hi_watchdog_disable();
  32. for(;;){
  33. led_control();
  34. }
  35. }
  36. hi_void *led_control_demo(hi_void *param)
  37. {
  38. hi_u32 ret;
  39. hi_unuse_param(param);
  40. for (;;)
  41. {
  42. led_control();
  43. /* 释放CPU资源给其他任务使用 */
  44. hi_sleep(LED_CONTROL_TASK_SLEEP_20MS);
  45. }
  46. ret = hi_task_delete(g_led_control_id);
  47. if(ret != HI_ERR_SUCCESS){
  48. printf("Faile to delete led control demo taskrn");
  49. return HI_ERR_FAILURE;
  50. }
  51. return HI_ERR_SUCCESS;
  52. }
  53. hi_u32 app_demo_led_control_task(hi_void)
  54. {
  55. hi_u32 ret;
  56. hi_task_attr led_control_attr = {0};
  57. led_control_attr.stack_size = LED_CONTROL_TASK_SIZE;
  58. led_control_attr.task_prio = LED_CONTROL_TASK_PRIO;
  59. led_control_attr.task_name = (hi_char*)"app demo led control";
  60. ret = hi_task_create(&g_led_control_id, &led_control_attr, led_control_demo, HI_NULL);
  61. if(ret != HI_ERR_SUCCESS){
  62. printf("Failed to create led control demorn");
  63. return HI_ERR_FAILURE;
  64. }
  65. printf("Succesed to create led control demorn");
  66. return HI_ERR_SUCCESS;
  67. }
复制代码
5、函数编写完成后,在程序入口 app_main.c 文件中 app_main 函数里调用 app_demo_led_control_task()函数。实现控制红色 LED 闪烁。具体代码实现如下:
  1. extern hi_u32 app_demo_led_control_task(hi_void);
  2. app_demo_led_control_task();
复制代码
6、编译烧录编译前需要在 LiteOS Stduio->工程配置->组件配置->Third Party library 选项中勾选掉 MQTT support并点击确认。其他编译下载烧录步骤可以参考目录第 1.2.5 节运行第一个例程序 Hello world。配置界面如下图所示。
pYYBAGKS4SWAbxs4AAHGr9TYc1M994.png
7、下载设置:
poYBAGKS4YCAH1cmAAKLdAn9IwE772.png
8、下载后成功后,重启开发板就可以看到交通灯交替闪烁了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    14

    文章

    2066

    浏览量

    123879
  • HarmonyOS
    +关注

    关注

    79

    文章

    1951

    浏览量

    29811
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    6875
收藏 人收藏

    评论

    相关推荐

    【星闪派物联网开发套件体验连载】智能交通灯

    感谢电子发烧友,感谢润和软件,提供星闪派物联网开发套件试用。 本次试用计划: 用星闪派物联网开发套件,先实现本地交通灯项目,接入WiFi连上
    发表于 10-05 13:00

    未来的Wi-Fi路由器

    转载自——钟林谈芯 没有创新就没有未来,Wi-Fi路由器也是如此。 进入2024年以后,Wi-Fi路由器市场变得更加艰难,利润大幅下滑,BOM成本价高于市场价,接不接订单,都陷入两难。 国内主芯片
    的头像 发表于 06-20 15:32 311次阅读

    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数据手册

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

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

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

    Wi-Fi联盟已发布Wi-Fi 7认证标准,华为是第一批送测厂商,获得业界首个企业级Wi-Fi 7 的Wi-Fi联盟官方认证。
    的头像 发表于 04-28 10:17 491次阅读
    华为获得全球首个国际<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 1507次阅读
    验证物联网<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 565次阅读
    <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 942次阅读
    <b class='flag-5'>Wi-Fi</b>的诞生与发展

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

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

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

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

    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 1894次阅读

    什么是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 2128次阅读

    什么是Wi-Fi 6?什么是Wi-Fi 6E?什么是最适合我的应用的?

    自 1999 年 Wi-Fi 联盟成立以来,Wi-Fi 技术不断进步,以满足对更快速度和支持更多设备的日益增长的需求。
    的头像 发表于 11-20 09:23 978次阅读
    什么是<b class='flag-5'>Wi-Fi</b> 6?什么是<b class='flag-5'>Wi-Fi</b> 6E?什么是最适合我的应用的?

    摩尔斯微电子与卓越电子合作推出 Wi-Fi HaLow 物联网解决方案

    晶圆厂半导体公司摩尔斯微电子(Morse Micro),宣布与卓越电子(AsiaRF Corp)合作推出最新的 Wi-Fi HaLow IoT 解决方案。产品阵容包括 Wi-Fi HaLow 物联网
    发表于 10-08 15:27 455次阅读
    摩尔斯微电子与卓越电子合作推出 <b class='flag-5'>Wi-Fi</b> HaLow 物联网解决方案