在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何把機(jī)智云生成的協(xié)議移植到STM32CubeMX生成的工程

9GxC_IoTMaker ? 來(lái)源:機(jī)智云開(kāi)發(fā)者 ? 作者:機(jī)智云開(kāi)發(fā)者 ? 2022-05-21 11:26 ? 次閱讀

降低IoT開(kāi)發(fā)門檻是機(jī)智云的不懈追求,所以機(jī)智云先后推出自助開(kāi)發(fā)平臺(tái)、MCU代碼自動(dòng)生成器、APP在線生成器、D3規(guī)則引擎等工具,不斷延伸物聯(lián)網(wǎng)生態(tài),兼容不同系列的MCU產(chǎn)品,適配STM32cubemx,大大簡(jiǎn)化 MCU 開(kāi)發(fā),降低門檻。

本文以程空氣質(zhì)量監(jiān)測(cè)應(yīng)用為例,講解STM32接入機(jī)智云,通過(guò)STM32CubeMX 圖形化配置工具生成 MCU 工程,然后只需編寫(xiě)幾個(gè)簡(jiǎn)單的接口,即可將機(jī)智云自助生成的 STM32 方案工程里面的設(shè)備協(xié)議移植過(guò)來(lái),這樣可以十分方便的將其它型號(hào) STM32 微控制 器連上機(jī)智云,開(kāi)發(fā)智能產(chǎn)品。

本文的讀者對(duì)象需要掌握的是:

1. 知道如何利用機(jī)智云自助開(kāi)發(fā)生成 MCU 工程;2. 知道如何利用 STM32CubeMX 配置外設(shè),生成 STM32 工程;3. 其它如開(kāi)發(fā)工具 Keil,串口調(diào)試助手,STLINK,STM32CubeMX 等軟件的安裝使用教程這里不會(huì)贅述,新手可前往機(jī)智云開(kāi)發(fā)者社區(qū)參考前期教程;

通過(guò)本文讀者將學(xué)會(huì):

1.如何把機(jī)智云生成的協(xié)議移植到 STM32CubeMX 生成的工程; 2. ADC(模數(shù)轉(zhuǎn)換器)的使用; 3.GPIO 的使用; 4 . 非阻塞長(zhǎng)短按鍵程序的移植; 5.簡(jiǎn)單的物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)流程;

先來(lái)張全家福:

51fc799c-d776-11ec-bce3-dac502259ad0.png

本文使用的硬件為:

52478b94-d776-11ec-bce3-dac502259ad0.png

軟件工具為:

1.STM32CubeMX V4.16.1; 2.機(jī)智云自助開(kāi)發(fā)平臺(tái); 3.串口調(diào)試助手; 4 . Keil V5.21.1.0;

01云端準(zhǔn)備

我們這里演示的是一個(gè)簡(jiǎn)單的遠(yuǎn)程空氣質(zhì)量監(jiān)測(cè)應(yīng)用,即微控制器采集空氣質(zhì)量傳感器的數(shù)據(jù),通過(guò) WIFI 上報(bào)到機(jī)智云服務(wù)器,然后我們通過(guò)手機(jī)端 APP 即可遠(yuǎn)程查看監(jiān)測(cè)值。

我們先在機(jī)智云自助開(kāi)發(fā)平臺(tái)建立數(shù)據(jù)點(diǎn)并生成一個(gè) MCU 方案 STM32 工程。

注:機(jī)智云自助開(kāi)發(fā)平臺(tái) dev.gizwits.com

52801b8a-d776-11ec-bce3-dac502259ad0.png

通過(guò)對(duì)機(jī)智云的了解,我們知道,以下幾個(gè)是必須的:

配置 WIFI 模塊入網(wǎng)方法和觸發(fā)方式;

為了和生成的測(cè)試 APP 配合,我們一般選擇長(zhǎng)按 Key2,RGB 綠燈亮起作為提示;

一個(gè)串口用于打印日志,方便調(diào)試,波特率沒(méi)有要求;另一個(gè)串口(實(shí)現(xiàn)中斷接收和寫(xiě))用于和 WIFI 模組通信,波特率要求為 9600,其它參數(shù)后文給出;

MCU 需要一個(gè)定時(shí)器,1ms 中斷作為心跳;上面紅色的文字是實(shí)現(xiàn)任意 MCU 通過(guò) WIFI 模塊連接機(jī)智云所必須的。

02硬件準(zhǔn)備

STM32L432 Nucleo-32 開(kāi)發(fā)板是 Nucleo-32 系列開(kāi)發(fā)板中最新的一款,它采用了STM32L432KC6 微控制器,除了具有良好的性能外,還支持超低功耗,板載 STlink 仿真器

52b7d822-d776-11ec-bce3-dac502259ad0.png

5339a456-d776-11ec-bce3-dac502259ad0.png

根據(jù) STM32 Nucleo-32 原理圖,USART2(PA2 為 USART2_TX,PA15 為 USART2_RX)與板載仿真器連接,因此我們將它作為調(diào)試打印日志用。

535f8234-d776-11ec-bce3-dac502259ad0.png

這里 MQ-135 空氣質(zhì)量傳感器 A0 輸出電壓值代表了空氣質(zhì)量狀況,我們使用 ADC 來(lái)采集這個(gè)電壓值。

53b5b87a-d776-11ec-bce3-dac502259ad0.png

按鍵使用 2 個(gè),由于 STM32 GPIO 內(nèi)部可配置上拉輸入模式,因此無(wú)需額外的上拉電阻,我們使用最簡(jiǎn)單的方法,GPIO 輸入檢測(cè)到低電平表示按鍵按下。三色 LED 為共陰極 LED,采用 GPIO 輸出高電平點(diǎn)亮的接線方式,限流電阻取 510 歐姆。

最終我們使用的外設(shè)如下:

54038e24-d776-11ec-bce3-dac502259ad0.png

03移植開(kāi)始

3.1、首先來(lái)看 STM32CubeMX 的配置。

STM32CubeMX 生成的 PDF 報(bào)表詳細(xì)描述了工程的配置信息,限于篇幅這里就不貼圖了,

具體可查閱原文附件文檔:

Nucleo-L432KCU6-Gokit-STM32CubeMX 配置報(bào)表.pdf

原文地址:club.gizwits.com/thread-3876-1-1.html

這里解釋以下幾個(gè)關(guān)鍵的配置:

a) 選擇的微控制器型號(hào)為 STM32L432KCU6,這里大家根據(jù)實(shí)際選用的型號(hào)選擇即可;b) 本板卡沒(méi)有焊接外部高速晶振,因此選擇的是內(nèi)部晶振,倍頻后,系統(tǒng)時(shí)鐘為80MHz,這里時(shí)鐘配置和我們后面配置定時(shí)器有關(guān);c) 開(kāi)啟定時(shí)器 7,將作為按鍵掃描用,配置為 1ms 中斷,定時(shí)器 7 時(shí)鐘為f=80MHz/( Prescaler+1),向上計(jì)數(shù)模式,計(jì)數(shù)到(ARR+1),進(jìn)入中斷;d) 開(kāi)啟定時(shí)器 6,將作為心跳用,配置為 1ms 中斷,定時(shí)器 6 時(shí)鐘為f=80MHz/( Prescaler+1),向上計(jì)數(shù)模式,計(jì)數(shù)到(ARR+1),進(jìn)入中斷;e) 串口 2 選擇 Asynchronous 模式,將作為打印日志調(diào)試用。配置為 115200 波特率、8位數(shù)據(jù)、無(wú)校驗(yàn)、1 位停止位,數(shù)據(jù)傳輸方向?yàn)榘l(fā)送和接收雙向(PS:其實(shí)這里只用到了 TX);f) 串口 1 選擇 Asynchronous 模式,將作為和 WIFI 模組通信用。參數(shù)需要符合機(jī)智云串口通信協(xié)議規(guī)定:即 9600 波特率、8 位數(shù)據(jù)、無(wú)校驗(yàn)、1 位停止位;另外和 WIFI 模組通信的串口 1 需要配置為中斷接收;g) PB3 是板卡上的翠綠色 LED,給它添加標(biāo)簽 LED3;h) PB0 和 PA12 是連接了按鍵,配置為上拉輸入模式,給它添加標(biāo)簽 Key1,Key2; i) 開(kāi)啟模數(shù)轉(zhuǎn)換器 ADC1,通道 5 對(duì)應(yīng)的 GPIO 是 PA0,配置為 Analog mode 并開(kāi)啟DMA 傳輸,傳輸方向是外設(shè)到內(nèi)存且地址不自增,字長(zhǎng)為 word;

3.2.工程文件的添加和修改

工程文件的添加和修改內(nèi)容主要是:

按鍵驅(qū)動(dòng)的移植;1ms 定時(shí)心跳的移植;串口讀寫(xiě)的移植;工程框架的移植;

移植步驟參考:club.gizwits.com/thread-3641-1-1.html

下面簡(jiǎn)單解釋下應(yīng)用程序部分,即 ADC DMA 方式采集模擬電壓信號(hào)

54509cbe-d776-11ec-bce3-dac502259ad0.png

我們?cè)?main.c 文件定義全局變量 ADC_ConvertedValue 存放 ADC 數(shù)據(jù)寄存器讀取值,ADC_ConvertedValueLocal 為換算的電壓值,由于參考電壓為 3.3V,ADC 精度為 12bit,

計(jì)算公式如下:

ADC_ConvertedValueLocal =ADC_ConvertedValue)*3.3/4095;

54b8b204-d776-11ec-bce3-dac502259ad0.png

初始化完成后調(diào)用 HAL_ADC_Start_DMA()啟動(dòng) ADC,使用 ADC 的好處是無(wú)需 CPU干預(yù),減少 CPU 負(fù)擔(dān)。

550a7c60-d776-11ec-bce3-dac502259ad0.png

在 main.c 里定義一個(gè) ADC 轉(zhuǎn)換完成回調(diào)函數(shù),里面重新啟動(dòng) ADC 轉(zhuǎn)換。

5595ba64-d776-11ec-bce3-dac502259ad0.png

在 userHandle()接口里面把 ADC 采集的數(shù)值賦值給 airQuality 字段即可,當(dāng)然這里可以加上一些數(shù)據(jù)處理,轉(zhuǎn)換代碼。

接下來(lái)就是調(diào)試了,關(guān)于如何在機(jī)智云自助開(kāi)發(fā)平臺(tái)生成 STM32 工程和測(cè)試 APP 以及配置入網(wǎng)步驟,這里不再贅述,不清楚的請(qǐng)參考。

原文標(biāo)題:3分鐘打造手機(jī)APP遠(yuǎn)程空氣質(zhì)量監(jiān)測(cè)應(yīng)用(STM32L432 Nucleo)

文章出處:【微信公眾號(hào):機(jī)智云開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

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

    關(guān)注

    146

    文章

    17874

    瀏覽量

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

    關(guān)注

    3

    文章

    609

    瀏覽量

    26750
  • stm32cubemx
    +關(guān)注

    關(guān)注

    5

    文章

    286

    瀏覽量

    16003

原文標(biāo)題:3分鐘打造手機(jī)APP遠(yuǎn)程空氣質(zhì)量監(jiān)測(cè)應(yīng)用(STM32L432 Nucleo)

文章出處:【微信號(hào):IoTMaker,微信公眾號(hào):機(jī)智云開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

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

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

    STM32CubeMX生成代碼就會(huì)覆蓋CMakeLists.txt文件,怎么解決?

    請(qǐng)教一下用STM32CubeMX生成代碼后,我自己加了一個(gè)頭文件和源文件,這些自己加的文件不是要配置CMakeLists.txt編譯么,但下載在用STM32CubeMX
    發(fā)表于 03-12 08:03

    stm32cubemx 6.13.0(win)版本生成代碼中文注釋亂碼怎么解決?

    stm32cubemx 6.13.0(win)版本生成代碼中文注釋亂碼
    發(fā)表于 03-11 07:10

    用TouchGFX生成工程,再使用STM32CubeMX生成MDK工程,下載時(shí)報(bào)錯(cuò)是怎么回事?

    我在用TouchGFX生成工程,再使用STM32CubeMX生成MDK工程,編譯后沒(méi)有出錯(cuò),再是在下載時(shí)報(bào)錯(cuò): 如果不加載這個(gè)算法文件,
    發(fā)表于 03-11 06:50

    使用STM32CubeMX生成FreeRTOS的MDK工程,選擇AC6編譯器有很多錯(cuò)誤,為什么?

    使用STM32CubeMX生成FreeRTOS的MDK工程,選擇AC5編譯器可以編譯成功,選擇AC6編譯器有很多錯(cuò)誤,是STM32CubeMX生成
    發(fā)表于 03-11 06:32

    STM32CubeMX生成的FreeRTOS源碼格式如何優(yōu)化?

    如圖,STM32CubeMX生成的FreeRTOS源碼格式有待優(yōu)化,空格都是以箭頭的方式呈現(xiàn),觀感很差。FreeRTOS官方下載的源碼則不存在這個(gè)問(wèn)題,說(shuō)明是STM32CubeMX生成
    發(fā)表于 03-10 08:04

    stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直沒(méi)有呢?

    stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直沒(méi)有呢
    發(fā)表于 03-10 07:44

    使用STM32CubeMX生成CMake工程中的FLASH.ld被更改怎么解決?

    使用STM32CubeMX生成CMake工程之后,對(duì)STM32xxxx_FLASH.ld進(jìn)行了修改。然后再次使用STM32CubeMX對(duì)
    發(fā)表于 03-10 06:52

    STM32CubeMX用于STM32配置和初始化C代碼生成

    電子發(fā)燒友網(wǎng)站提供《STM32CubeMX用于STM32配置和初始化C代碼生成.pdf》資料免費(fèi)下載
    發(fā)表于 02-26 17:32 ?658次下載

    工程師開(kāi)發(fā)利器:STM32CubeMX 與 eDesignSuite 的協(xié)同開(kāi)發(fā)

    電源效率,并通過(guò) CubeMX 配置 STM32 的低功耗模式。電機(jī)控制與代碼集成在電機(jī)控制項(xiàng)目中,eDesignSuite 生成的算法代碼可直接嵌入 STM32CubeMX
    的頭像 發(fā)表于 02-26 14:07 ?653次閱讀
    <b class='flag-5'>工程</b>師開(kāi)發(fā)利器:<b class='flag-5'>STM32CubeMX</b> 與 eDesignSuite 的協(xié)同開(kāi)發(fā)

    使用stm32cubeMX無(wú)法生成mdk工程文件?

    幾年前使用過(guò)cubemx,可以生成keil的工程文件。最近有個(gè)工程使用cubemx創(chuàng)建,結(jié)果只能生成
    發(fā)表于 01-04 20:03

    STM32CubeMX生成的代碼,是怎樣的HAL架構(gòu)?

    需要注意,CubeMX只是一個(gè)初始化工具,它只是幫你完成了HAL庫(kù)外設(shè)和時(shí)鐘的初始化,具體程序的編寫(xiě)還需要查閱HAL庫(kù)的說(shuō)明,使用相關(guān)函數(shù)實(shí)現(xiàn)你想實(shí)現(xiàn)的功能。CubeMX生成的代碼包含了豐富的注釋
    的頭像 發(fā)表于 01-01 21:01 ?699次閱讀
    <b class='flag-5'>STM32CubeMX</b><b class='flag-5'>生成</b>的代碼,是怎樣的HAL架構(gòu)?

    STM32CubeMX的菜單介紹

    相信初學(xué)者打開(kāi)STM32CubeMX一定是一臉懵逼,里面都是全英文的,不知道從何入手。這里先給大家簡(jiǎn)單講解一下。在新建工程這一欄里,我們最常用的是第一個(gè),它會(huì)彈出一個(gè)芯片列表供你選擇,然后就會(huì)創(chuàng)建一
    的頭像 發(fā)表于 12-25 21:03 ?420次閱讀
    <b class='flag-5'>STM32CubeMX</b>的菜單介紹

    【有獎(jiǎng)直播】STM32CubeMX移植機(jī)智自動(dòng)生成代碼

    直播亮點(diǎn)1、零門檻接入機(jī)智平臺(tái):無(wú)需復(fù)雜準(zhǔn)備,快速實(shí)現(xiàn)智能化轉(zhuǎn)型,輕松上手。2、手機(jī)App控制實(shí)現(xiàn):通過(guò)手機(jī)App即可控制智能設(shè)備,無(wú)需開(kāi)發(fā)經(jīng)驗(yàn),適合零基礎(chǔ)開(kāi)發(fā)者。3、高效低成本開(kāi)發(fā):通過(guò)
    的頭像 發(fā)表于 09-27 08:04 ?564次閱讀
    【有獎(jiǎng)直播】<b class='flag-5'>STM32CubeMX</b><b class='flag-5'>移植</b><b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>自動(dòng)<b class='flag-5'>生成</b>代碼

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

    前言最近我拿到了STM32L496AGMCU,發(fā)現(xiàn)其擴(kuò)展版可以連接ESP-01S。我想嘗試將開(kāi)發(fā)板連接到我們的機(jī)智上,并根據(jù)機(jī)智提供的文
    的頭像 發(fā)表于 09-20 08:05 ?1054次閱讀
    基于<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b><b class='flag-5'>移植</b><b class='flag-5'>STM32</b>L496G代碼<b class='flag-5'>移植</b>
    主站蜘蛛池模板: free性欧美69高清 | 日本高清视频色 | 欧美色视频超清在线观看 | 午夜免费影院 | 一区二区三区免费视频播放器 | xxxx日本在线播放免费不卡 | 天天干夜夜爱 | wwwwww色| 视频一二三区 | 三级完整在线观看高清视频 | 亚洲一区二区三区四区在线 | 人人做天天爱夜夜爽中字 | 啪啪在线视频 | 韩国三级久久精品 | 亚洲免费毛片 | 色精品视频 | 国产在线精彩视频二区 | 久久国产免费观看精品 | 欧美一区二区三区成人看不卡 | 欧美8888 | 久久婷婷丁香七月色综合 | 日本内谢69xxxx免费 | 色视频免费国产观看 | 中文字幕三级 | 美女爱爱网站 | 长腿丝袜美女被啪啪 | se94se欧美 | 欧洲色妇| 欧美视频精品一区二区三区 | 大尺度免费高清在线观看视频 | 狠狠做久久深爱婷婷97动漫 | 亚洲第一免费播放区 | 变态重口极致另类在线 | 欧美瑟瑟 | 国产特黄 | 亚洲午夜久久久久影院 | 爱爱帝国亚洲一区二区三区 | avtom影院永久转四虎入口 | 午夜欧美精品久久久久久久 | 亚洲综合校园春色 | 老师我好爽再深一点好大 |