学习ESP8266⑥基于机智云STM32开发程序移植教程

移植以机智云智能灯为例
我之前在学习STM32机智云平台的时候参考的是正点原子的教程,可他的移植库是旧版的方法了,现在自动生成的代码已经有些不同,所以移植方法也有些不一样。
这里我就不进行前面的一系列创建了,前面的就参照正点原子机智云的开发用户手册来就行,我这里直接从自动生成代码开始讲。

1.硬件平台这选择其他平台,然后生成代码包
学习ESP8266⑥基于机智云STM32开发程序移植教程_第1张图片

2.打开里面有五个文件,我们把前三个文件复制到自己的工程里(在这里替换main.c),我选择的是正点原子定时器中断的实验,用的是正点原子的探索者
学习ESP8266⑥基于机智云STM32开发程序移植教程_第2张图片

3.因为是通过串口进行数据传输,还要用到按键,所以在这直接找了现成的KEY文件和USART文件放在HARDWARE文件夹下
学习ESP8266⑥基于机智云STM32开发程序移植教程_第3张图片

4.打开工程,把之前的都添加进来,然后添加头文件
学习ESP8266⑥基于机智云STM32开发程序移植教程_第4张图片

5.配置gizwits_product.c文件,具体看代码,看行数就能快速找到
增加头文件声明

#include "led.h"

配置gizwitsEventProcess(eventInfo_t *info, uint8_t *gizdata, uint32_t len)
学习ESP8266⑥基于机智云STM32开发程序移植教程_第5张图片

配置mcuRestart(void)
学习ESP8266⑥基于机智云STM32开发程序移植教程_第6张图片

配置uartWrite(uint8_t *buf, uint32_t len)
学习ESP8266⑥基于机智云STM32开发程序移植教程_第7张图片

6.配置HARDWARE文件夹下的文件,我就把要加的地方弄出来,其他的直接看我最后发的源代码吧
学习ESP8266⑥基于机智云STM32开发程序移植教程_第8张图片

学习ESP8266⑥基于机智云STM32开发程序移植教程_第9张图片

7.最后就是main.c文件

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "timer.h"
#include "key.h"
#include "usart3.h"
#include "gizwits_product.h" 

//Gizwits协议初始化
void Gizwits_Init(void)
{
	TIM3_Int_Init(10-1,8400-1);	//1MS系统定时 
	usart3_init(9600);//WIFI初始化 
	memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));//设备状态结构体初始化
	gizwitsInit();//缓冲区初始化
}
/**
* @brief main

* In this function, the user - associated initialization and the main logical loop are completed

* @param none
* @return none
*/
int main(void)
{  
  int key;
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
	delay_init(168);        //初始化延时函数
	uart_init(115200);      //初始化USART
	LED_Init();				//初始化LED端口
	KEY_Init();             //初始化按键
  Gizwits_Init();         //协议初始化
 	printf("--------机智云IOT-协议移植LED测试实验----------\r\n");
	printf("KEY1:AirLink连接模式\t KEY_UP:复位\r\n\r\n");  
	while(1)
	{
         
    gizwitsHandle((dataPoint_t *)¤tDataPoint);//协议处理
 		
	  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复位
		}
	}
}

这样就全部移植玩了编译以后有三个警告没有错误,那三个警告我们不需要管。
博主刚开始写博客,表述不清请见谅。
程序源码:链接:https://pan.baidu.com/s/1nskp8FvtBqxKB8XfcUQQeg 密码:i5ob

你可能感兴趣的:(学习ESP8266⑥基于机智云STM32开发程序移植教程)