吴忠躺衫网络科技有限公司

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于機(jī)智云移植STM32L496G代碼移植

機(jī)智云 ? 2024-09-20 08:05 ? 次閱讀

最近我拿到了STM32L496AGMCU,發(fā)現(xiàn)其擴(kuò)展版可以連接ESP-01S。我想嘗試將開發(fā)板連接到我們的機(jī)智云上,并根據(jù)機(jī)智云提供的文檔進(jìn)行程序移植。

STM32CubeMX移植機(jī)智云自動生成代碼詳解 - 機(jī)智云

在移植的過程中遇到的一些問題,這里我將重構(gòu)一下,大致內(nèi)容跟文檔差不多,但是根據(jù)文檔的操作,會產(chǎn)生一些奇怪的報錯,這里可以根據(jù)我的操作做新的移植操作。

移植到其他平臺

1.創(chuàng)建STM32CubeMX 工程文件

在STM32CubeMX中直接選擇您所使用的 MCU(比如這里我們選擇STM32L496AGIx) ,如下:

0ce7656e-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

點(diǎn)擊“Project → Setting”設(shè)置工程目錄位置以及相應(yīng)參數(shù)如下所示:

0d03afb2-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

注:里編譯器選擇為Keil 5

導(dǎo)入機(jī)智云模板配置文件0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

因為機(jī)智云自動生成的源碼中已經(jīng)包含了對應(yīng)平臺的STM32CubeMX工程配置文件,相關(guān)驅(qū)動參數(shù)已經(jīng)是配置過的,為方便開發(fā)者將STM32的源碼移植到其他的平臺,我們可以使用STM32CubeMX的配置文件導(dǎo)入功能,將STM32F103平臺的配置參數(shù)導(dǎo)入到STM32L496ZGT6平臺,如下:

選擇File > Import Project

0d4724d6-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

注:只有空白文檔才能導(dǎo)入到我們的工程里面

0d68c7da-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

可以看到我們的對應(yīng)的引腳已經(jīng)配置上了

0daf80c6-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

0de5584a-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

我們查看原理圖發(fā)現(xiàn)USART2是STlink的板載通訊,這里我們將板載通訊修改為115200

0e069bd6-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

0e2208e4-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

修改之后我們直接點(diǎn)擊創(chuàng)建工程

0e45c180-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

我們先關(guān)閉項目,之后我們打開之后對應(yīng)的文件夾。

移植代碼0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

此時的工程中只有STM32L496ZGT相關(guān)的驅(qū)動代碼,若要使用機(jī)智云的聯(lián)網(wǎng)能力就需要移植相關(guān)的協(xié)議源碼(即前文介紹的已自動生成的STM32F103工程中的三個文件:Gizwits、Hal、Utils

移植前的STM32L496AGIx工程目錄如下:

0e9981e4-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

移植后(即從STM32F103中復(fù)制Gizwits、Hal、Utils到STM32L496AGIx下)如下

0eb902a8-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

接下來我們在STM32L496ZGT的keill5工程中添加如下的目錄結(jié)構(gòu):

0ee5b406-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

同理加入相應(yīng)的編譯路徑:

0f1b2438-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

接下來要修改編輯機(jī)智云的代碼,但移植文檔的時間為2017年左右的,其中機(jī)智云生成代碼會有所改變,接下來我是通過下載到的軟件包,將其中的代碼移植成功。因為按照文檔的操作有些代碼與現(xiàn)在代碼包不匹配,所以會有所報錯。

首先,為了適配對應(yīng)的平臺應(yīng)在gizwits_product.h / hal_key.h 中替換為對應(yīng)平臺的頭文件,例如:

將原來F103C8平臺的頭文件 #include “stm32f1xx_hal.h”** 替換為L496ZGT平臺的 #include"stm32l4xx_hal.h"

注:可以在根目錄下的 Drivers\STM32F1xx_HAL_Driver\Inc 中找到對應(yīng)平臺的頭文件。接下來在main.c中添加與機(jī)智云協(xié)議處理相關(guān)的代碼:首先是引用的相關(guān)頭文件

0f3c3588-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

長短按按鍵回調(diào)函數(shù)的定義

0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

直接在f103的代碼直接復(fù)制過來按鍵代碼(新版代碼邏輯有所改變)

0f61205a-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png0f90b18a-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

· 接下來是對相關(guān)驅(qū)動模塊以及機(jī)智云協(xié)議模塊的初始化

0fbb86ee-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

· 最后是在main函數(shù)中的循環(huán)處理函數(shù)調(diào)用:

0fd642fe-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

其中我們需要將引入的頭文件.h的f103修改對應(yīng)的頭文件,這是多數(shù)報錯的問題。

最后點(diǎn)擊編譯出現(xiàn)零錯誤零警告

10048f42-76e4-11ef-bb4b-92fbcf53809c.png0ccc3a6e-76e4-11ef-bb4b-92fbcf53809c.png

我們成功將機(jī)智云代碼移植過來,之后我們燒錄來驗證一下程序是否能正常的執(zhí)行,其中有些代碼還需要修改,要根據(jù)自己的開發(fā)板的串口引腳進(jìn)行改變,之后我們會通過連接到機(jī)智云點(diǎn)亮小燈來驗證串口代碼問題,大致基本移植可以完成。

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

    關(guān)注

    2272

    文章

    10923

    瀏覽量

    357547
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4825

    瀏覽量

    69040
  • 機(jī)智云
    +關(guān)注

    關(guān)注

    2

    文章

    591

    瀏覽量

    26457
收藏 人收藏

    評論

    相關(guān)推薦

    STM32L496G QSPI在DMA模式一段時間clock會被拉成Low,可否改善?

    我使用STM32L496G,與這篇遇到相同的問題,\"每次讀取500個字節(jié)的數(shù)據(jù)的話,時鐘會出現(xiàn)8個連續(xù)的周期,然后時鐘被拉低了,過了很久再出現(xiàn)8個連續(xù)的周期\" ,不知道是否是DMA的關(guān)系,不知道有沒有方法可以不拉低Clock?
    發(fā)表于 04-15 07:21

    stm32cubemx5.0,stm32l496G怎么沒有touchgfx選項?

    最新版的stm32cubemx5.0,stm32l496G怎么沒有touchgfx選項,
    發(fā)表于 04-23 07:04

    機(jī)智自動生成工程移植STM32CubeMX

    的接口,即可將機(jī)智自助生成的STM32方案工程里面的設(shè)備協(xié)議移植過來,真正實(shí)現(xiàn)全程圖形化配置,傻瓜式開發(fā),這樣既可十分方便的將其它型號STM32
    發(fā)表于 02-07 16:59

    STM32CubeMX移植機(jī)智自動生成代碼詳解

    的工程中只有STM32L496ZGT相關(guān)的驅(qū)動代碼,若要使用機(jī)智的聯(lián)網(wǎng)能力就需要移植相關(guān)的協(xié)議源碼(即前文介紹的已自動生成的
    發(fā)表于 12-28 13:50

    正點(diǎn)原子探索版STM32F407,接入機(jī)智代碼移植

    為了給自己的移植過程做一個記錄,特此寫下正點(diǎn)原子探索者STM32F497的移植過程。移植步驟在機(jī)智
    發(fā)表于 06-17 12:12

    移植機(jī)智代碼STM32F103

    二期移植機(jī)智代碼STM32F103系列在嗶站錄了兩期簡單的視頻 ,歡迎大家指正不足,我也是剛剛開始做,還有很多不足,如果視頻中寫的有什么
    發(fā)表于 08-03 07:46

    如何移植STM32固件庫

    機(jī)智官方生成的MCU代碼(hal庫)移植STM32標(biāo)準(zhǔn)庫教程手上剛好有STM32F103VC
    發(fā)表于 11-11 06:24

    怎樣去移植基于STM32f013c8t6的機(jī)智

    怎樣去移植基于STM32f013c8t6的機(jī)智呢?如何利用ESP8266燒錄機(jī)智固件呢?
    發(fā)表于 12-10 06:30

    介紹STM32L496G開發(fā)套件的特點(diǎn)及應(yīng)用

    STM32L496G套件介紹
    的頭像 發(fā)表于 07-03 03:37 ?5054次閱讀

    機(jī)智官方生成的MCU代碼(hal庫)移植STM32標(biāo)準(zhǔn)庫教程

    機(jī)智官方生成的MCU代碼(hal庫)移植STM32標(biāo)準(zhǔn)庫教程手上剛好有STM32F103VC
    發(fā)表于 11-06 09:51 ?15次下載
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>官方生成的MCU<b class='flag-5'>代碼</b>(hal庫)<b class='flag-5'>移植</b>為<b class='flag-5'>STM32</b>標(biāo)準(zhǔn)庫教程

    STM32F4芯片移植_LVGL7.11_UCOS移植代碼工程

    STM32F4芯片移植_LVGL7.11_UCOS移植代碼工程
    發(fā)表于 12-09 17:45 ?26次下載

    AN4822_STM32L476xx、486xx和STM32L496xx、4A6xx微控制器之間的移植

    AN4822_STM32L476xx、486xx和STM32L496xx、4A6xx微控制器之間的移植
    發(fā)表于 11-21 08:11 ?1次下載
    AN4822_<b class='flag-5'>STM32L</b>476xx、486xx和<b class='flag-5'>STM32L496</b>xx、4A6xx微控制器之間的<b class='flag-5'>移植</b>

    教程:ESP8266接入機(jī)智,成功實(shí)現(xiàn)代碼移植

    本文主要以圖文方式介紹了ESP8266接入機(jī)智,生成MCU代碼,并成功移植代碼,實(shí)現(xiàn)APP控制硬件設(shè)備的過程。操作步驟如下:1、將固件寫入
    的頭像 發(fā)表于 01-12 10:16 ?5408次閱讀
    教程:ESP8266接入<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>,成功實(shí)現(xiàn)<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>

    基于物聯(lián)網(wǎng)的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)(3)機(jī)智代碼移植

    “創(chuàng)建云端產(chǎn)品,燒錄Gagent”,“DHT11驅(qū)動的編寫”。本文主要介紹,機(jī)智代碼工程移植、采集數(shù)據(jù)上發(fā)、控制數(shù)據(jù)下拉、配置入網(wǎng)。機(jī)智
    的頭像 發(fā)表于 04-27 11:02 ?1125次閱讀
    基于物聯(lián)網(wǎng)的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)(3)<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>代碼</b><b class='flag-5'>移植</b>

    STM32連接機(jī)智代碼移植,NTP實(shí)時時間獲取(一)

    目錄一、機(jī)智介紹二、固件下載三、項目例程下載四、代碼移植五、代碼編寫準(zhǔn)備(已配置完畢,正式開始編寫代碼
    的頭像 發(fā)表于 11-19 01:01 ?389次閱讀
    <b class='flag-5'>STM32</b>連接<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>,<b class='flag-5'>代碼</b><b class='flag-5'>移植</b>,NTP實(shí)時時間獲取(一)
    百家乐园云鼎娱乐网| 在线娱乐城注册送彩金| 百家乐海滨网现场| 亚洲顶级赌场第一品牌| 龙川县| 百家乐官网机械投注法| 罗盘24山八卦| 百家乐游戏模拟| 皇冠网新2| 战神百家乐官网娱乐城| 赌场百家乐网站| 棋牌室营业执照| 澳门百家乐官网棋牌游戏| 百家乐官网免费改| 大发888 娱乐| 百家乐官网鸿泰棋牌| 澳门百家乐赌客| 泷泽罗拉种子| 蓝盾百家乐官网具体玩法| 旅百家乐赢钱律| 百家乐官网发牌的介绍| E乐博百家乐现金网| 易发棋牌游戏| 九州百家乐官网的玩法技巧和规则| 金木棉百家乐的玩法技巧和规则| 临夏市| 百家乐胜率在哪| 皇冠现金网址| G3百家乐官网的玩法技巧和规则| 威尼斯人娱乐网站安全吗| 百家乐官网有人赢过吗| 百家乐官网洗码方法| 百家乐存1000送| 顶尖百家乐官网学习| 十六蒲娱乐城| 在线百家乐官网纸牌| 棋牌室管理制度| 百家乐最好的玩法| 优博娱乐在线| 百家乐官网最佳打| 大发888bet娱乐城|