OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5254|回复: 5

正点原子探索版STM32F407,接入机智云之代码移植

[复制链接]

272

主题

281

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
1084
金钱
1084
注册时间
2020-2-25
在线时间
107 小时
发表于 2021-6-17 12:11:48 | 显示全部楼层 |阅读模式
正点原子官方提供了与机智云连接的开发手册,但是手册内容中的Gizwits文件目录和目前的机智云自动生成的代码目录有一定的差异,因此移植过程有了一些改变。为了方便大家针对新版机智云的代码进行移植,也为了给自己的移植过程做一个记录,特此写下正点原子探索者STM32F497的移植过程。


移植步骤


在机智云物联网开发平台新建设备,数据点,生成代码(选择其他平台)并下载。注意:机智云物联网开发平台dev.gizwits.com推荐使用最新的esp8266机智云GAgent固件,其下载地址:/download.gizwits.com/zh-cn/p/92/94选择生成其他平台的代码是标准库,选择F407平台则生成的是HAL库。






2.打开正点原子的移植代码:




文件路径:



将我们下载的自动生成的代码中的Gizwits文件夹和Utils文件夹复制到正点原子的移植代码目录中,提示覆盖点击确定即可。





打开工程,将Utils文件夹添加到头文件路径中





gizwits_product.c中加入led.husart3.h
  • #include <stdio.h>
  • #include <string.h>
  • #include "gizwits_product.h"
  • //下面两个头文件是我们后来加入的
  • #include "led.h"
  • #include "usart3.h"

修改 dataPoint_t currentDataPointextern dataPoint_t currentDataPoint

  • /** Current datapoint */
  • //dataPoint_t currentDataPoint;
  • extern dataPoint_t currentDataPoint;

找到以下代码,并加入

  • if(0x01 == currentDataPoint.valueLEDonoff)
  • {
  • //user handle
  • //下面一行是我们后加入的
  •                         LED1=0;//LED1亮
  • }
  • else
  • {
  • //user handle
  • //下面一行是我们后加入的
  •                         LED1=1;//LED1灭                        
  • }

main.c中的 void userHandle(void)

  • //数据采集
  • void userHandle(void)
  • {
  • //判断当前LED1开关量
  • if(LED1==0)
  • currentDataPoint.valueLEDonoff = 1;
  • else
  •         currentDataPoint.valueLEDonoff = 0;
  • }

剪切到gizwits_product.c中的对应位置

  • //下面的void userHandle(void)是我们从main.c中剪切过来的
  • //数据采集
  • void userHandle(void)
  • {
  • //判断当前LED1开关量
  • if(LED1==0)
  • currentDataPoint.valueLEDonoff = 1;
  • else
  •         currentDataPoint.valueLEDonoff = 0;
  • }

修改gizwits_product.c中的 int32_t uartWrite(uint8_t *buf, uint32_t len)

  • 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);
  • for(i=0; i<len; i++)
  • {
  • GIZWITS_LOG("%02x ", buf);
  • }
  • GIZWITS_LOG("\n");
  • #endif
  • for(i=0; i<len; i++)
  • {
  • //USART_SendData(UART, buf);//STM32 test demo
  • //实现串口发送函数,将buf发送到模组
  •                 USART_SendData(USART3,buf);
  • while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕
  • if(i >=2 && buf == 0xFF)
  • {
  • //实现串口发送函数,将0x55发送到模组
  •                 USART_SendData(USART3,0x55);
  • while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循环发送,直到发送完毕
  • }
  • }
  • return len;
  • }

gizwits_product.c中的 void mcuRestart(void); 处加入如下代码

  • void mcuRestart(void)
  • {
  • __set_FAULTMASK(1);//关闭所有中断
  • NVIC_SystemReset();//复位        
  • }

gizwits_product.h中加入 void gizTimerMs(void);

  • void userInit(void);
  • void userHandle(void);
  • void mcuRestart(void);
  • //下面的一行是我们后面加入的
  • void gizTimerMs(void);



移植完成


编译下载到开发板即可。



按下KEY1,用机智云的手机App进行连接调试。








进入即可控制LED的亮灭。




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2020-10-10
在线时间
111 小时
发表于 2021-6-19 14:31:12 来自手机 | 显示全部楼层
只需修改gizwits_product.c,timer.c,mian文件就可以了,在produtcol.hkh修改上传时间间隔,默认是6000ms
回复 支持 反对

使用道具 举报

4

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2020-10-10
在线时间
111 小时
发表于 2021-6-19 14:32:40 来自手机 | 显示全部楼层
,,,,,,,
Screenshot_20210619_143032_com.xpg.wifidemo.jpg
回复 支持 反对

使用道具 举报

4

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2020-10-10
在线时间
111 小时
发表于 2021-6-19 14:34:25 来自手机 | 显示全部楼层
在product.c和h中void userHandle(void)删掉,不然报错
回复 支持 反对

使用道具 举报

4

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
471
金钱
471
注册时间
2020-10-10
在线时间
111 小时
发表于 2021-6-19 14:49:21 来自手机 | 显示全部楼层
回复了就不能删除,不家请无事我的回复
回复 支持 反对

使用道具 举报

36

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
191
金钱
191
注册时间
2020-12-22
在线时间
17 小时
发表于 2021-6-23 11:30:48 | 显示全部楼层
yao79 发表于 2021-6-19 14:32
,,,,,,,

这是做啥设备呢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 11:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表