chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于STM32 HAL庫與標(biāo)準(zhǔn)庫的esp8266接入機(jī)智云方案(二)

機(jī)智云 ? 2025-05-28 18:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


在《基于STM32HAL庫與標(biāo)準(zhǔn)庫的esp8266接入機(jī)智云方案(一)》中,我們?cè)敿?xì)介紹了硬件連接和機(jī)智云客戶端的創(chuàng)建。本篇將重點(diǎn)講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連接機(jī)智云。同時(shí),我們還將討論如何移植HAL庫和標(biāo)準(zhǔn)庫以實(shí)現(xiàn)與機(jī)智云的兼容,幫助開發(fā)者更高效地完成項(xiàng)目的云平臺(tái)接入。



代碼下載e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


注意:此時(shí)手機(jī)app端的該設(shè)備為網(wǎng)頁端的虛擬設(shè)備僅僅是作為調(diào)試UI使用。之后移植完成代碼后,會(huì)與ESP8266連接,此時(shí)會(huì)出現(xiàn)一個(gè)新的設(shè)備信息來控制MCU,確認(rèn)后,就可以去生成代碼了。





e2e3567e-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


點(diǎn)擊MCU開發(fā),選擇硬件平臺(tái)。


首先,確認(rèn)項(xiàng)目的開發(fā)方式是標(biāo)準(zhǔn)庫還是HAL 庫,如果是標(biāo)準(zhǔn)庫,只能選擇其他平臺(tái)。我使用的是HAL庫,同時(shí)也是F1x的板子,所以我選擇F103C8。輸入PS碼后即可點(diǎn)擊生成項(xiàng)目代碼。生成后下載下來使用即可!





e2f62902-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

后面如果需要加其他數(shù)據(jù)或者需要控制其他東西的話都是需要重新生成代碼的!



分析下載下來的代碼e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


下載下來后我們先簡單觀察里面的代碼的基本功能和配置:我們打開下載下來的代碼如果是F103C8型號(hào)就是可以直接使用的,如果不是我后面也會(huì)詳細(xì)說移植步驟!


我們打開里面的CubeMX工程可以發(fā)現(xiàn):使用機(jī)智云需要一個(gè)定時(shí)器ms級(jí)別的中斷和兩個(gè)串口,一個(gè)打印信息,一個(gè)連接esp8266,還有兩個(gè)按鍵(非必要),然后我們點(diǎn)開keil工程,查看main函數(shù)里面到底有什么,使用了什么:



/* Initialize interrupts */ MX_NVIC_Init();//中斷優(yōu)先級(jí)配置 /* USER CODE BEGIN 2 */ timerInit();//開啟定時(shí)器中斷 uartInit();//開啟串口2接收中斷 userInit();//初始化數(shù)據(jù)(比如,LED) gizwitsInit();//機(jī)智云初始化 keyInit();//按鍵初始化
GIZWITS_LOG("MCU Init Success , SoftVersion = %s\r\n",SOFTWARE_VERSION);//打印數(shù)據(jù) /* USER CODE END 2 */#ifdefOTA_ENABLE Pro_D2W_Ask_Module_Reboot();#endif /* Infinite loop */ /* USER CODE BEGIN WHILE */ while(1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ userHandle();//數(shù)據(jù)上傳 gizwitsHandle((dataPoint_t *)¤tDataPoint);//任務(wù)處理(比如:開關(guān)LED) } /* USER CODE END 3 */AI寫代碼


我們可以使用CH340連接串口1,esp8266連接串口2,查看按鍵的打印信息:


e30cd396-3baa-11f0-986f-92fbcf53809c.png


發(fā)現(xiàn)按鍵設(shè)置長短按,分別用來設(shè)置esp8266的工作模式,移植后的代碼的串口發(fā)送函數(shù)已經(jīng)包裝成了GIZWITS_LOG


想要熟悉使用機(jī)智云代碼就必須會(huì)使用兩個(gè)函數(shù):


userHandle();//數(shù)據(jù)上傳

gizwitsHandle((dataPoint_t *)¤tDataPoint);//任務(wù)處理(比如:開關(guān)LED)

AI寫代碼


userHandle();//數(shù)據(jù)上傳






e3181864-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

gizwitsHandle((dataPoint_t *)¤tDataPoint);//任務(wù)處理(比如:開關(guān)LED):點(diǎn)擊跳轉(zhuǎn)定義





e32b9736-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

點(diǎn)擊進(jìn)入箭頭這個(gè)函數(shù):





e33cef72-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


基本了解了代碼的最基本的功能后,后續(xù)移植也會(huì)更得心應(yīng)手。


直接使用下載下來的代碼e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


4.1、修改代碼點(diǎn)亮LED


下載的代碼中只定義了一個(gè)定時(shí)器、兩個(gè)串口、兩個(gè)按鍵,其他就沒有配置了,我們這里自己個(gè)他配置一個(gè)LED的GPIO口,用于模擬燈:


修改1:





e3532ee0-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


staticvoidMX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin : KEY1_Pin */ GPIO_InitStruct.Pin=KEY1_Pin; GPIO_InitStruct.Mode=GPIO_MODE_INPUT; GPIO_InitStruct.Pull=GPIO_PULLUP; HAL_GPIO_Init(KEY1_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pin : KEY2_Pin */ GPIO_InitStruct.Pin=KEY2_Pin; GPIO_InitStruct.Mode=GPIO_MODE_INPUT; GPIO_InitStruct.Pull=GPIO_PULLUP; HAL_GPIO_Init(KEY2_GPIO_Port, &GPIO_InitStruct);
//自己添加的GPIO口初始化,用于驅(qū)動(dòng)LED GPIO_InitStruct.Pin=GPIO_PIN_9; GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull=GPIO_PULLUP; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);}AI寫代碼


修改2:





e33cef72-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png



連接機(jī)智云平臺(tái)

e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


然后按照要求連接號(hào)硬件和LED,上電試著連接機(jī)智云,先長按Key2進(jìn)入airlink模式,然后使用手機(jī)打開機(jī)智云點(diǎn)擊右上角的+,然后點(diǎn)擊一鍵配網(wǎng)

等待配對(duì)成功后,就可以使用機(jī)智云控制LED開關(guān)了。





e387b4e4-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


e3982a86-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

連接機(jī)智云串口打印信息





e3af84d8-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png



HAL庫移植機(jī)智云e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


前面我們已經(jīng)熟悉了下載的代碼的最基本需求:一個(gè)串口打印信息,一個(gè)串口連接esp8266,一個(gè)定時(shí)器ms級(jí)別中斷,兩個(gè)按鍵(非必要),那么我們進(jìn)行移植之前就得先得到一個(gè)已經(jīng)配置好的keil工程



Keil工程的生成e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


前面我們已經(jīng)熟悉了機(jī)智云代碼的最基本的需求,所以我們移植之前的需要得到一個(gè)符合條件的Keil工程,一個(gè)串口打印信息(串口1,115200bits/s),一個(gè)串口連接esp8266(串口2,9600bits/s),一個(gè)定時(shí)器實(shí)現(xiàn)ms級(jí)別中斷(定時(shí)器2),兩個(gè)按鍵(非必須),需要移植的代碼中配置好的就是串口1、串口2,定時(shí)器2,如果我們想要使用其他的外設(shè),我們就需要修改機(jī)智云代碼中的句柄,比如我們想要串口1連接esp8266,串口2打印信息,定時(shí)器3實(shí)現(xiàn)中斷,我們?cè)跈C(jī)智云代碼中需要的修改的地方:huart1和huart2互換地方,htim2修改為htim3,以此類推。


我們這里就不隨便換他的外設(shè)配置了,就按照它的來配置,最快把這個(gè)機(jī)智云物聯(lián)網(wǎng)平臺(tái)使用起來:





e3cda008-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

打開外部高速時(shí)鐘





e3dc9144-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置時(shí)鐘頻率:





e3efb936-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置定時(shí)器二:





e4072102-3baa-11f0-986f-92fbcf53809c.jpge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

別忘記了打開定時(shí)器中斷:





e4164a7e-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置串口1負(fù)責(zé)打印信息(115200bits/s):





e424d2e2-3baa-11f0-986f-92fbcf53809c.jpge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置串口二(9600bits/s):





e433c040-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

一樣別忘記打開中斷:





e446381a-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置點(diǎn)燈GPIO口:





e45a87c0-3baa-11f0-986f-92fbcf53809c.jpge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

最后生成工程即可:





e46cb896-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


e4878be4-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


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

    關(guān)注

    2305

    文章

    11120

    瀏覽量

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

    關(guān)注

    3

    文章

    629

    瀏覽量

    27631
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    73

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HAL每天一例】第063例:WIFI-ESP8266

    /1i574oPv 密碼:r3s3(硬石YS-F1Pro開發(fā)板HAL例程持續(xù)更新\1. 軟件設(shè)計(jì)之基本裸機(jī)例程(HAL版本)\YSF1-064. WIFI-
    發(fā)表于 07-07 09:03

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

    ESP8266-12F);3.USB轉(zhuǎn)TTL模塊一個(gè),串口調(diào)試用;軟件工具為:1.STM32CubeMX V4.16.1;2.機(jī)智自助開發(fā)平臺(tái);3.串口調(diào)試助手;4 . Keil
    發(fā)表于 02-07 16:59

    ESP8266-12F模塊接入案例

    串口調(diào)試助手驗(yàn)證該模塊和機(jī)智服務(wù)器的通信是否OK。示例:附件及詳細(xì)文檔請(qǐng)到機(jī)智社區(qū)搜索“ESP8266-12F模塊無線
    發(fā)表于 02-20 16:49

    如何移植STM32固件

    機(jī)智官方生成的MCU代碼(hal)移植為STM32標(biāo)準(zhǔn)
    發(fā)表于 11-11 06:24

    STM32F103+ESP8266使用工程模板接入機(jī)智的過程

    正點(diǎn)原子STM32mini開發(fā)板+ESP8266接入機(jī)智博主是一位剛剛接觸STM32的小白,在
    發(fā)表于 02-14 07:47

    基于STM32esp8266機(jī)智app聯(lián)網(wǎng)總結(jié)

    背景是有一個(gè)成熟的STM32機(jī)智項(xiàng)目代碼,記錄一下成功應(yīng)用的過程。第一步:用ttl轉(zhuǎn)u***串口給esp8266燒錄機(jī)智
    發(fā)表于 04-25 13:40

    機(jī)智ESP8266模組固件資料下載

    機(jī)智ESP8266模組固件
    發(fā)表于 04-23 15:55 ?67次下載
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>ESP8266</b>模組固件資料下載

    從5方面描述STM32F407+ESP8266連接機(jī)智過程

    由于本次使用的ESP8266是原來機(jī)智代產(chǎn)品上的,可能正常聯(lián)上機(jī)智,故沒有給
    的頭像 發(fā)表于 06-21 10:06 ?1.3w次閱讀

    ESP8266系列封裝資源下載

    ESP8266系列封裝資源下載
    發(fā)表于 05-20 16:04 ?0次下載

    ESP8266 PCB的模塊封裝下載

    ESP8266 PCB的模塊封裝下載
    發(fā)表于 10-28 14:50 ?211次下載

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

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

    STM32通過ESP8266利用機(jī)智平臺(tái)實(shí)現(xiàn)手機(jī)遠(yuǎn)程操作

    直奔主題,本次練習(xí)是將STM32作為主控芯片,ESP8266作為外設(shè),利用串口傳遞信息,通過機(jī)智平臺(tái)實(shí)現(xiàn)與手機(jī)之間的通信
    發(fā)表于 12-06 18:36 ?14次下載
    <b class='flag-5'>STM32</b>通過<b class='flag-5'>ESP8266</b>利用<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>平臺(tái)實(shí)現(xiàn)手機(jī)遠(yuǎn)程操作

    正點(diǎn)原子STM32F103+ESP8266使用工程模板接入機(jī)智的詳細(xì)步驟

    正點(diǎn)原子STM32mini開發(fā)板+ESP8266接入機(jī)智博主是一位剛剛接觸STM32的小白,在
    發(fā)表于 12-08 20:21 ?16次下載
    正點(diǎn)原子<b class='flag-5'>STM32F103+ESP8266</b>使用工程模板<b class='flag-5'>接入</b><b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>的詳細(xì)步驟

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

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

    基于STM32 HAL標(biāo)準(zhǔn)ESP8266接入機(jī)智方案(一)

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