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

    关注

    15

    文章

    2382

    浏览量

    128910
  • HarmonyOS
    +关注

    关注

    80

    文章

    2146

    浏览量

    35589
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略

    物联网的快速发展,Wi-Fi技术的成熟的情况下,越来越多的场景需要用到Wi-Fi来无线传输数据,尤其是移动设备中,怎么再设备中选择合适的Wi-Fi模块呢?下面我们来介绍下Wi-Fi模块
    的头像 发表于 12-09 11:27 375次阅读
    <b class='flag-5'>Wi-Fi</b>模块选型指南 | 低功耗蓝牙/<b class='flag-5'>Wi-Fi</b> 6模块推荐 | 物联网设备集成攻略

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

    作者: Qorvo 亚太区无线连接事业部高级行销经理林健富   2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
    发表于 09-19 18:29 1326次阅读
    浅谈<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

    基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较

    随着 nRF7000 Wi-Fi 协同 IC 的推出,我们现在可以提供具有 Wi-Fi、蜂窝物联网和 GNSS 功能的完整硅到云定位解决方案。nRF7000 针对 Wi-Fi 网络扫描进行了优化
    发表于 08-31 21:01

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

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 902次阅读
    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 1067次阅读
    科普|公司的<b class='flag-5'>Wi-Fi</b>,为什么这么慢?

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

    英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。” 这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似? 怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
    发表于 06-13 11:09

    摩尔斯微电子携手Gateworks,利用Wi-Fi HaLow革新工业连接

    新型Wi-Fi HaLow M.2卡与开发者套件:为智能工厂、交通运输与能源系统实现远距离、低功耗无线连接   2025 年 6 月 4 日 ——工业物联网领域迎来重大飞跃,全球领先的Wi-F
    发表于 06-04 10:58 1217次阅读
     摩尔斯微电子携手Gateworks,利用<b class='flag-5'>Wi-Fi</b> HaLow革新工业连接

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

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

    基于 Wi-Fi 的定位服务

    以下捕获使用 location_wifi_get 函数请求 Wi-Fi 定位服务。该事件的总功耗为 125.85mC,日志显示精确度为 30.0m。 Got location: method
    发表于 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

    华为海思正式进入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 1054次阅读