一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

正點原子探索版STM32F407,接入機智云之代碼移植

機智云 ? 2022-06-20 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在2017年機智云和正點原子聯(lián)袂發(fā)布正點原子接入機智云教程提供了一整套基于STM32開發(fā)板的接入教程和實例源碼,從平臺配置到程序配置,為開發(fā)人員提供一種便捷的接入云平臺方案。

所有正點原子STM32開發(fā)板(除mini外)均具有ATK-Module接口,只需要把ATK-ESP8266模塊直接連接到該接口即可。mini開發(fā)板需要通過杜邦線鏈接。

換句話說,所有正點原子的開發(fā)板都可以輕松連云了,幾小時搞定遠程控制。

教程下載地址:http://pan.baidu.com/s/1geUdgJ5

a3999644-eff0-11ec-a2f4-dac502259ad0.png

a3ac03d8-eff0-11ec-a2f4-dac502259ad0.png

但是由于時間過長,手冊內容中的Gizwits文件目錄和目前的機智云自動生成的代碼目錄有一定的差異,因此移植過程有了一些改變。

為了方便大家針對新版機智云的代碼進行移植,也為了給自己的移植過程做一個記錄,特此寫下正點原子探索者STM32F497的移植過程。


a3baab4a-eff0-11ec-a2f4-dac502259ad0.gif移植步驟

1、創(chuàng)建項目,定于數(shù)據(jù)點,生成MCU代碼包

先登陸機智云自助開發(fā)平臺dev.gizwits.com

創(chuàng)建智能項目

定義數(shù)據(jù)點

生成MCU代碼(選擇其他平臺)并下載

推薦使用最新的esp8266機智云GAgent固件

Gagent固件下載地址

download.gizwits.com/zh-cn/p/92/94


選擇生成其他平臺的代碼是標準庫

選擇F407平臺則生成的是HAL庫。

a3cabeea-eff0-11ec-a2f4-dac502259ad0.png


2.進行移植
打開MCU代碼包正點原子的移植代碼

a3f4942c-eff0-11ec-a2f4-dac502259ad0.png

可以看到如下文件路徑:

a402c146-eff0-11ec-a2f4-dac502259ad0.png

將我們第一步驟下載的“MCU代碼包”進行解壓縮,隨后將Gizwits文件夾和Utils文件夾復制到正點原子的移植代碼目錄中,提示覆蓋點擊確定即可。


a4192e72-eff0-11ec-a2f4-dac502259ad0.png


打開工程,將Utils文件夾添加到頭文件路徑中
a4234a2e-eff0-11ec-a2f4-dac502259ad0.png


在gizwits_product.c中加入led.h和usart3.h

#include#include#include "gizwits_product.h"//下面兩個頭文件是我們后來加入的#include "led.h"#include "usart3.h"

修改dataPoint_t currentDataPoint為extern 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)

//數(shù)據(jù)采集void userHandle(void){//判斷當前LED1開關量if(LED1==0)currentDataPoint.valueLEDonoff = 1;else currentDataPoint.valueLEDonoff = 0;}

剪切到gizwits_product.c中的對應位置

//下面的void userHandle(void)是我們從main.c中剪切過來的//數(shù)據(jù)采集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_DEBUGGIZWITS_LOG("MCU2WiFi[%4d:%4d]: ", gizGetTimerCount(), len);for(i=0; i"" div="" style="overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box;">{GIZWITS_LOG("%02x ", buf);}GIZWITS_LOG("\n");#endiffor(i=0; i"" i="" style="overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box;">{//USART_SendData(UART, buf);//STM32 test demo//實現(xiàn)串口發(fā)送函數(shù),將buf發(fā)送到模組 USART_SendData(USART3,buf);while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循環(huán)發(fā)送,直到發(fā)送完畢if(i >=2 && buf == 0xFF){//實現(xiàn)串口發(fā)送函數(shù),將0x55發(fā)送到模組 USART_SendData(USART3,0x55);while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //循環(huán)發(fā)送,直到發(fā)送完畢}}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);

至此,移植完成

3、編譯、調試
編譯下載到開發(fā)板即可。
a431ec5a-eff0-11ec-a2f4-dac502259ad0.png

按下KEY1,用機智云的手機App進行連接調試。
a43e7e98-eff0-11ec-a2f4-dac502259ad0.png

a4528afa-eff0-11ec-a2f4-dac502259ad0.png

4、演示效果

進入即可控制LED的亮滅。

a461553a-eff0-11ec-a2f4-dac502259ad0.png

原文出自:https://mbb.eet-china.com/blog/3934591-420668.html

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2293

    文章

    11032

    瀏覽量

    364944
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32+esp8266連接機智,上傳溫濕度數(shù)據(jù)并控制繼電器開關(平臺配置、代碼生成、代碼移植

    本教程將詳細介紹如何將STM32微控制器與ESP8266Wi-Fi模塊連接到機智平臺,實現(xiàn)溫濕度數(shù)據(jù)的上傳與繼電器的遠程控制。通過此過程,您將學會如何配置機智
    的頭像 發(fā)表于 07-15 18:54 ?72次閱讀
    <b class='flag-5'>STM32</b>+esp8266連接<b class='flag-5'>機智</b><b class='flag-5'>云</b>,上傳溫濕度數(shù)據(jù)并控制繼電器開關(平臺配置、<b class='flag-5'>代碼</b>生成、<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>)

    機智配網教程第三期:單片機代碼移植實戰(zhàn)

    stm32f103c8t6,WiFi模塊:ESP-01s,下載器:ST-LINK2.軟件:keil5的工程文件模板,mcu代碼代碼資源:未移植
    的頭像 發(fā)表于 07-01 17:32 ?172次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>配網教程第三期:單片機<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>實戰(zhàn)

    基于STM32 HAL庫與標準庫的esp8266接入機智方案(二)

    在《基于STM32HAL庫與標準庫的esp8266接入機智方案(一)》中,我們詳細介紹了硬件連接和機智
    的頭像 發(fā)表于 05-28 18:02 ?479次閱讀
    基于<b class='flag-5'>STM32</b> HAL庫與標準庫的esp8266<b class='flag-5'>接入</b><b class='flag-5'>機智</b><b class='flag-5'>云</b>方案(二)

    基于STM32 HAL庫與標準庫的ESP8266接入機智方案(一)

    最近在項目中需要進行物聯(lián)網平臺對接,之前我找到了一些資料,發(fā)現(xiàn)機智是一個不錯的平臺。機智的資料豐富,且操作簡便,可以根據(jù)MCU自動生成
    的頭像 發(fā)表于 05-28 18:02 ?269次閱讀
    基于<b class='flag-5'>STM32</b> HAL庫與標準庫的ESP8266<b class='flag-5'>接入</b><b class='flag-5'>機智</b><b class='flag-5'>云</b>方案(一)

    STM32機智連接實現(xiàn)步驟與技巧(下篇):機智代碼移植與優(yōu)化

    在《STM32機智連接實現(xiàn)步驟與技巧(上篇)》中,我們介紹了硬件連接和通信協(xié)議配置。本篇將重點講解如何將機智相關
    的頭像 發(fā)表于 05-23 18:10 ?257次閱讀
    <b class='flag-5'>STM32</b>與<b class='flag-5'>機智</b><b class='flag-5'>云</b>連接實現(xiàn)步驟與技巧(下篇):<b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>代碼</b><b class='flag-5'>移植</b>與優(yōu)化

    STM32機智連接實現(xiàn)步驟與技巧(上篇)

    通過STM32機智的連接,開發(fā)者可以實現(xiàn)設備的遠程控制和數(shù)據(jù)管理,提升物聯(lián)網應用的智能化水平。本文將介紹STM32機智
    的頭像 發(fā)表于 05-23 18:10 ?320次閱讀
    <b class='flag-5'>STM32</b>與<b class='flag-5'>機智</b><b class='flag-5'>云</b>連接實現(xiàn)步驟與技巧(上篇)

    stm32f407這個STM32_RCC_PERIPHCLK_SDMMC是哪里定義的?

    stm32f407這個STM32_RCC_PERIPHCLK_SDMMC 是哪里定義的 函數(shù)調用這個會報錯 Error[Pe020]: identifier \"
    發(fā)表于 03-07 07:34

    STM32F407和ADS8684進行SPI通信,寄存器怎么配置?

    通過STM32F407和ADS8684進行SPI通信,閱讀了ADS8684的手冊,配置STM32F407為主,CPOL為0,CPHA為1,這樣對嗎? 配置好后應該先設置ADS8684的程序寄存器還是發(fā)送命令寄存器后再設置程序寄存器呢?
    發(fā)表于 12-20 06:25

    正點原子STM32H7R3開發(fā)套件試用體驗】4G聯(lián)網工業(yè)設備控制網關

    這次有幸參加 正點原子STM32H7R3開發(fā)套件 的評測,計劃使用 正點原子STM32H7R3開
    發(fā)表于 12-18 14:14

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導致系統(tǒng)穩(wěn)定性和數(shù)據(jù)完整性受損。我們將STM32F407與SD NAND集成時可能遇到的初始化問題,并提供專業(yè)的解決方案。
    的頭像 發(fā)表于 12-11 10:51 ?948次閱讀
    <b class='flag-5'>STM32F407</b> MCU使用SD NAND?不斷電初始化失效解決方案

    STM32連接機智,代碼移植,NTP實時時間獲?。ǘ?/a>

    STM32機智連接實現(xiàn)(第二篇)—NTP實時時間獲取與設備配對在上一篇文章中,我們介紹了如何將STM32機智
    的頭像 發(fā)表于 11-20 01:02 ?1753次閱讀
    <b class='flag-5'>STM32</b>連接<b class='flag-5'>機智</b><b class='flag-5'>云</b>,<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>,NTP實時時間獲取(二)

    STM32連接機智,代碼移植,NTP實時時間獲?。ㄒ唬?/a>

    目錄一、機智介紹二、固件下載三、項目例程下載四、代碼移植五、代碼編寫準備(已配置完畢,正式開始編寫代碼
    的頭像 發(fā)表于 11-19 01:01 ?1136次閱讀
    <b class='flag-5'>STM32</b>連接<b class='flag-5'>機智</b><b class='flag-5'>云</b>,<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>,NTP實時時間獲?。ㄒ唬? />    </a>
</div>                              <div   id=

    正點原子stm32開發(fā)板能用stlink嗎

    開發(fā)板概述 正點原子提供的STM32開發(fā)板涵蓋了從基礎到高級的多種型號,包括但不限于STM32F103、STM32F407、
    的頭像 發(fā)表于 11-13 09:21 ?2152次閱讀

    基于機智移植STM32L496G代碼移植

    前言最近我拿到了STM32L496AGMCU,發(fā)現(xiàn)其擴展版可以連接ESP-01S。我想嘗試將開發(fā)板連接到我們的機智上,并根據(jù)機智提供的文
    的頭像 發(fā)表于 09-20 08:05 ?1192次閱讀
    基于<b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>移植</b><b class='flag-5'>STM32</b>L496G<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>

    STM32最小系統(tǒng)板與ESP01S接入機智教程

    本次采用STM32F103C8T6單片機、ESP-01S模塊、紅外避障模塊、蜂鳴器模塊,OLED(0.96iic)、繼電器模塊、超聲波模塊,接入機智平臺,分別演示
    的頭像 發(fā)表于 09-04 08:02 ?1781次閱讀
    <b class='flag-5'>STM32</b>最小系統(tǒng)板與ESP01S<b class='flag-5'>接入</b><b class='flag-5'>機智</b><b class='flag-5'>云</b>教程