STM32通过8266连接机智云平台

机智云固件库烧录步骤
新建数据点
在这里插入图片描述
在这里插入图片描述
下载完之后的包,我们需要移植

在这里插入图片描述
在这里插入图片描述把移植进来的文件加入工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于机智云自动生成的代码是HAL库,而我们写的是标准库,所以需要加入在这里插入图片描述
如果自己原来的文件里面没有下面这三个,也要添加进去
在这里插入图片描述
没有的话代码在这,自己添加key,timer,usart3代码

代码已经移植差不多了,接下去我们开始修改代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
给gizwits_product.c最下方添加以下代码

int32_t uartWrite(uint8_t *buf, uint32_t len)
{
    uint32_t i = 0;
    
    if(NULL == buf)
    {
        return -1;
    }
#ifdef PROTOCOL_DEBUG
    GIZWITS_LOG("MCU2WiFi[%4d:%4d]: ", gizGetTimerCount(), len);
#endif
    
    for(i=0; i<len; i++)
    {
        //USART_SendData(UART, buf[i]);//STM32 test demo
        //实现串口发送函数,将buf[i]发送到模组
		USART_SendData(USART3,buf[i]);
        while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕 
#ifdef PROTOCOL_DEBUG
        GIZWITS_LOG("%02x ", buf[i]);
#endif
        if(i >=2 && buf[i] == 0xFF)
        {
          //实现串口发送函数,将0x55发送到模组
		   USART_SendData(USART3,0x55);
         while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕 
#ifdef PROTOCOL_DEBUG
        GIZWITS_LOG("%02x ", 0x55);
#endif
        }
    }
    
#ifdef PROTOCOL_DEBUG
    GIZWITS_LOG("\n");
#endif
    
    return len;
}

在这里插入图片描述
main.c
(根据需求略改)

#include "sys.h"	
#include "delay.h"	
#include "led.h" 
#include "beep.h" 
#include "key.h"
#include "usart.h"
#include "timer.h"
#include "usart3.h"
#include "gizwits_product.h" 
 
/* Óû§Çøµ±Ç°É豸״̬½á¹¹Ìå*/
dataPoint_t currentDataPoint;

void Gizwits_Init(void)
{  
	
	TIM3_Int_Init(9,7199);//1MSϵͳ¶¨Ê±
    usart3_init(9600);//WIFI³õʼ»¯
	memset((uint8_t*)&currentDataPoint, 0, sizeof(dataPoint_t));//É豸״̬½á¹¹Ìå³õʼ»¯
	gizwitsInit();//»º³åÇø³õʼ»¯
}


 int main(void)
 {
	int key;
	delay_init();	    	 //ÑÓʱº¯Êý³õʼ»¯	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÉèÖÃNVICÖжϷÖ×é2:2λÇÀÕ¼ÓÅÏȼ¶£¬2λÏìÓ¦ÓÅÏȼ¶
	uart_init(115200);	    //´®¿Ú³õʼ»¯Îª115200
 	LED_Init();			    //LED¶Ë¿Ú³õʼ»¯
	KEY_Init();             //°´¼ü³õʼ»¯ 
	BEEP_Init();            //·äÃùÆ÷³õʼ»¯
    Gizwits_Init();         //ЭÒé³õʼ»¯
	printf("--------»úÖÇÔÆIOT-¶à·¿ØÖÆʵÑé----------\r\n");
	printf("KEY1:AirLinkÁ¬½Óģʽ\t KEY_UP:¸´Î»\r\n\r\n");
   	while(1)
	{
	    userHandle();//Óû§²É¼¯
         
        gizwitsHandle((dataPoint_t *)&currentDataPoint);//ЭÒé´¦Àí
 		
	    key = KEY_Scan(0);
		if(key==KEY1_PRES)//KEY1°´¼ü
		{
			printf("WIFI½øÈëAirLinkÁ¬½Óģʽ\r\n");
			gizwitsSetMode(WIFI_AIRLINK_MODE);//Air-linkģʽ½ÓÈë
		}			
		if(key==WKUP_PRES)//KEY_UP°´¼ü
		{  
			printf("WIFI¸´Î»£¬ÇëÖØÐÂÅäÖÃÁ¬½Ó\r\n");
			gizwitsSetMode(WIFI_RESET_MODE);//WIFI¸´Î»
		}		
		delay_ms(200);	
	}	 

 }


  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值