Kara 发表于 2025-5-27 17:03:33

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

基于STM32 HAL库与标准库的esp8266接入机智云方案-代码重要文件



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

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

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

点击这里查看




一、查看机智云代码重要的文件
里面的文件我们只需要3个:

我们将其复制出来我们自己的工程:
二、添加文件路径我们打开我们自己工程:

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

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

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


四、代码移植
添加我圈起来的代码:

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




void key1ShortPress(void)
{
    GIZWITS_LOG("KEY1 PRESS ,Production Mode\n");
    gizwitsSetMode(WIFI_PRODUCTION_TEST);
}

/**
* key1 long press handle
* @param none
* @return none
*/
void key1LongPress(void)
{
    GIZWITS_LOG("KEY1 PRESS LONG ,Wifi Reset\n");
    gizwitsSetMode(WIFI_RESET_MODE);

}

/**
* key2 short press handle
* @param none
* @return none
*/
void key2ShortPress(void)
{
    GIZWITS_LOG("KEY2 PRESS ,Soft AP mode\n");
    #if !MODULE_TYPE
    gizwitsSetMode(WIFI_SOFTAP_MODE);
    #endif
}

/**
* key2 long press handle
* @param none
* @return none
*/
void key2LongPress(void)
{
    //AirLink mode
    GIZWITS_LOG("KEY2 PRESS LONG ,AirLink mode\n");
    #if !MODULE_TYPE
    gizwitsSetMode(WIFI_AIRLINK_MODE);
    #endif
}

/**
* Key init function
* @param none
* @return none
*/
void keyInit(void)
{
    /* Key parameter initialization*/
    keyCategory_t keys={
       = {

      .fsm.keyGpio.keyPort = KEY1_GPIO_Port,
      .fsm.keyGpio.keyPin = KEY1_Pin,
      //Key1 State Machine Init
      .fsm.keyShield = ENABLE,
      .fsm.keyDownLevel = Bit_RESET,
      //Key1 Callback function init
      .func.ShortPressCb = key1ShortPress,
      .func.longPressCb = key1LongPress,
      },

       = {
      .fsm.keyGpio.keyPort = KEY2_GPIO_Port,
      .fsm.keyGpio.keyPin = KEY2_Pin,
      //Key2 State Machine Init
      .fsm.keyShield = ENABLE,
      .fsm.keyDownLevel = Bit_RESET,
      //Key2 Callback function init
      .func.ShortPressCb = key2ShortPress,
      .func.longPressCb = key2LongPress,
      },
    };
    keyParaInit(keys);
}
AI写代码
然后再main函数中调用Key_Init函数即可:
五、修改任务处理函数跳转gizwitsHandle((dataPoint_t *)¤tDataPoint);函数定义,找到任务处理函数:

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

到这里我们就已经完成了代码的移植,然后我们按照前面连接机智云的方法,在手机上即可控制LED的点亮与熄灭!标准库移植机智云
可以看看某站的这个视频:标准库移植机智云
页: [1]
查看完整版本: STM32 HAL库与标准库的esp8266-代码重要文件