收藏官网首页
查看: 456|回复: 0

STM32 HAL库与标准库的esp8266-代码重要文件

703

主题

766

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
37354
跳转到指定楼层
楼主
 楼主| 发表于 2025-5-27 17:03:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
基于STM32 HAL库与标准库的esp8266接入机智云方案-代码重要文件



在《基于STM32 HAL库与标准库的ESP8266接入机智云方案(上篇)》中,我们介绍了硬件连接和机智云客户端的创建;在《基于STM32 HAL库与标准库的ESP8266接入机智云方案(下篇)》中,我们深入讲解了代码下载、分析与直接使用的过程,并探讨了如何将HAL库和标准库移植到机智云平台。由于篇幅有限,本文将重点介绍机智云代码中的重要文件及其功能,帮助开发者更好地理解和使用机智云提供的资源。欲了解前两篇详细内容,可通过以下链接访问:
基于STM32 HAL库与标准库的ESP8266接入机智云方案(上篇)

[url=https://club.gizwits.com/thread-170351-1-1.html]点击这里查看[/url]

基于STM32 HAL库与标准库的ESP8266接入机智云方案(下篇)

点击这里查看




一、查看机智云代码重要的文件

里面的文件我们只需要3个:


我们将其复制出来我们自己的工程:

二、添加文件路径
我们打开我们自己工程:


把我们复制过来的文件路径都添加进去,不然我们直接包括头文件会报错:


然后打开添加组,把对应的C文件都添加进去:


三、打开Use Micro LIB
打开这个才能print函数重映射:



四、代码移植

添加我圈起来的代码:


这样子我们的代码就基本移植成功了。
如果想要按键控制ESP8266工作模式的还需要添加(非必要)





  1. void key1ShortPress(void)
  2. {
  3.     GIZWITS_LOG("KEY1 PRESS ,Production Mode\n");
  4.     gizwitsSetMode(WIFI_PRODUCTION_TEST);
  5. }

  6. /**
  7. * key1 long press handle
  8. * @param none
  9. * @return none
  10. */
  11. void key1LongPress(void)
  12. {
  13.     GIZWITS_LOG("KEY1 PRESS LONG ,Wifi Reset\n");
  14.     gizwitsSetMode(WIFI_RESET_MODE);

  15. }

  16. /**
  17. * key2 short press handle
  18. * @param none
  19. * @return none
  20. */
  21. void key2ShortPress(void)
  22. {
  23.     GIZWITS_LOG("KEY2 PRESS ,Soft AP mode\n");
  24.     #if !MODULE_TYPE
  25.     gizwitsSetMode(WIFI_SOFTAP_MODE);
  26.     #endif
  27. }

  28. /**
  29. * key2 long press handle
  30. * @param none
  31. * @return none
  32. */
  33. void key2LongPress(void)
  34. {
  35.     //AirLink mode
  36.     GIZWITS_LOG("KEY2 PRESS LONG ,AirLink mode\n");
  37.     #if !MODULE_TYPE
  38.     gizwitsSetMode(WIFI_AIRLINK_MODE);
  39.     #endif
  40. }

  41. /**
  42. * Key init function
  43. * @param none
  44. * @return none
  45. */
  46. void keyInit(void)
  47. {
  48.     /* Key parameter initialization*/
  49.     keyCategory_t keys[KEY_NUM]={
  50.         [KEY1] = {

  51.         .fsm.keyGpio.keyPort = KEY1_GPIO_Port,
  52.         .fsm.keyGpio.keyPin = KEY1_Pin,
  53.         //Key1 State Machine Init
  54.         .fsm.keyShield = ENABLE,
  55.         .fsm.keyDownLevel = Bit_RESET,
  56.         //Key1 Callback function init
  57.         .func.ShortPressCb = key1ShortPress,
  58.         .func.longPressCb = key1LongPress,
  59.         },

  60.         [KEY2] = {
  61.         .fsm.keyGpio.keyPort = KEY2_GPIO_Port,
  62.         .fsm.keyGpio.keyPin = KEY2_Pin,
  63.         //Key2 State Machine Init
  64.         .fsm.keyShield = ENABLE,
  65.         .fsm.keyDownLevel = Bit_RESET,
  66.         //Key2 Callback function init
  67.         .func.ShortPressCb = key2ShortPress,
  68.         .func.longPressCb = key2LongPress,
  69.         },
  70.     };
  71.     keyParaInit(keys);
  72. }
  73. AI写代码
复制代码

然后再main函数中调用Key_Init函数即可:

五、修改任务处理函数
跳转gizwitsHandle((dataPoint_t *)¤tDataPoint);函数定义,找到任务处理函数:


继续跳转去函数定义,添加任务处理:


到这里我们就已经完成了代码的移植,然后我们按照前面连接机智云的方法,在手机上即可控制LED的点亮与熄灭!
标准库移植机智云

可以看看某站的这个视频:标准库移植机智云

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表
在线咨询