基于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工作模式的还需要添加(非必要):
- 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[KEY_NUM]={
- [KEY1] = {
-
- .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,
- },
-
- [KEY2] = {
- .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的点亮与熄灭! 标准库移植机智云
|