欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

【AWTK開源智能串口屏方案】MCU SDK使用與編譯運(yùn)行

ZLG致遠(yuǎn)電子 ? 2024-02-19 12:11 ? 次閱讀

本篇文章將介紹AWTK-HMI中的MCU端開發(fā)方法,包括MCU SDK常用API的說明、使用流程及如何編譯到LinuxSTM32平臺。引言:AWTK-HMI是基于AWTK與AWTK-MVVM開發(fā)的低代碼智能串口屏方案,本系列文章介紹如何從零開發(fā)HMI程序,包括搭建開發(fā)環(huán)境、創(chuàng)建HMI運(yùn)行時(shí)工程、修改應(yīng)用界面以及開發(fā)MCU程序。


MCU端簡介

相對于HMI端(串口屏端),MCU端工程是用戶自己的主控程序,通過調(diào)用MCU SDK的API,可以與HMI端通過串口或網(wǎng)口通信。MCU端程序本身也是支持跨平臺,且不受硬件與系統(tǒng)限制的。

e605edf8-cedc-11ee-9118-92fbcf53809c.png

圖1AWTK-HMI工作原理

從官方的Gitee下載awtk-hmi倉庫到本地目錄,可以在mcu/sdk/hmi目錄中瀏覽MCU SDK的API。如果是低資源平臺則可以瀏覽mcu/mini-sdk/hmi目錄的代碼文件。

MCU開發(fā)基本流程

在使用API前需要把MCU SDK加入到目標(biāo)平臺編譯成庫或者直接放到項(xiàng)目中進(jìn)行編譯,才可以在業(yè)務(wù)邏輯中調(diào)用這些API,關(guān)于如何編譯文章后面章節(jié)會進(jìn)行詳細(xì)介紹。

MCU SDK常用API

首先講述一下MCU SDK實(shí)際開發(fā)中常用的API,通過這些API,MCU端可以主動獲取、設(shè)置串口屏的變量值,或接收串口屏的事件,實(shí)現(xiàn)雙向交互。

1、hmi_create或hmi_create_with_serial,這一步是創(chuàng)建一個(gè)hmi_t對象用于跟串口屏端進(jìn)行通信。若需要使用網(wǎng)口通信可以先調(diào)用tk_stream_factory_create_iostream并根據(jù)函數(shù)說明傳進(jìn)去正確的url參數(shù),接著再將返回的tk_iostream_t對象作為hmi_create函數(shù)的參數(shù);

2、hmi_set_prop,通過MCU端設(shè)置串口屏某個(gè)綁定變量值,如:設(shè)置空調(diào)開關(guān)或溫度值;

3、hmi_get_prop,通過MCU端獲取串口屏某個(gè)綁定變量值;

4、hmi_dispatch,用于獲取了串口屏事件后分發(fā)到MCU端程序中,如:監(jiān)聽到串口屏發(fā)生了EVT_PROP_CHANGED事件,MCU端程序接收到該事件后輸出對應(yīng)的日志信息;

5、hmi_destroy用于MCU端與串口屏端斷開連接時(shí)銷毀hmi_t對象。

MCU SDK開發(fā)示例

下圖是一段在STM32平臺上簡單的示例代碼,主要邏輯是在程序主循環(huán)中檢測按鍵并設(shè)置串口屏變量值,并且不斷檢測串口屏的事件,分發(fā)到MCU端程序中:

e612ada4-cedc-11ee-9118-92fbcf53809c.png

圖2MCU SDK使用示例除了上面所展示的API和例子,更多API說明和示例可以參考《MCU SDK》,完整示例工程可以瀏覽mcu/stm32目錄中的幾個(gè)STM32工程。

嵌入式Linux平臺使用MCU SDK

接下來介紹如何將MCU SDK編譯到嵌入式Linux平臺。編譯環(huán)境需要準(zhǔn)備交叉編譯工具鏈、MCU SDK代碼文件最新版awtk與awtk-linux-fb,awtk與awtk-linux-fb放在awtk-hmi目錄中,詳細(xì)的操作步驟如下:1. 參考《【從0開始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到嵌入式Linux平臺》文章在awtk-linux-fb內(nèi)配置交叉編譯工具并編譯awtk;2. 進(jìn)入到awtk-hmi/mcu/sdk/hmi目錄中,使用交叉編譯工具編譯得到hmi.o目標(biāo)文件,下面為示例命令(宏定義可自己添加):

arm-zlgmcu-linux-uclibcgnueabi-gcc -c hmi.c -I../../../awtk/src -DLINUX

3. 將hmi.o目標(biāo)文件打包成庫文件

arm-zlgmcu-linux-uclibcgnueabi-ar rcs libhmi.a ./hmi.o

4. 編譯test示例程序命令如下:

arm-zlgmcu-linux-uclibcgnueabi-gcc test.c -o test -I./ -I../../../awtk/src -L./ -L../../../awtk-linux-fb/bin -lawtk -lhmi

最終可以得到test示例程序,將該程序以及awtk-linux-fb/bin目錄下的libawtk.so庫文件拷貝到板子上運(yùn)行即可

e61caba6-cedc-11ee-9118-92fbcf53809c.png

圖3編譯得到的libhmi.a庫和test程序

在STM32或其它硬件平臺使用MCU SDK

如果想將MCU端編譯到STM32平臺運(yùn)行,相對比較簡單,只需將AWTK部分代碼文件以及MCU SDK所有代碼文件加入到現(xiàn)有的keil工程中進(jìn)行編譯,具體操作可以參考mcu/stm32的README.md《STM32移植指南》介紹。

下圖是使用Keil編譯現(xiàn)有的MCU端移植工程到STM32F429平臺的工程文件結(jié)構(gòu)以及編譯輸出信息:

e6260a34-cedc-11ee-9118-92fbcf53809c.png

圖4Keil工程中加入AWTK與MCU SDK代碼文件

e6349ea0-cedc-11ee-9118-92fbcf53809c.png圖5編譯MCU端到STM32平臺其它的硬件平臺和RTOS平臺移植方法也是大同小異,將AWTK編譯后再將MCU SDK編譯成庫文件,最后配置好SDK庫與AWTK庫路徑以及鏈接選項(xiàng),編譯可執(zhí)行程序即可。

在Windows平臺使用MCU端模擬程序

在mcu/simulator目錄下有一個(gè)MCU端模擬器例程,可以模擬發(fā)送和接收數(shù)據(jù),該模擬程序支持通過串口或網(wǎng)口的方式與串口屏連接,并支持收發(fā)串口屏消息。具體如何啟動HMI端程序并與模擬器通信可以看系列上一篇文章。

運(yùn)行awtk-hmi目錄中的“prepare.bat”下載最新版awtk與awtk-mvvm倉庫,接著在mcu/simulator目錄下執(zhí)行以下命令便可運(yùn)行模擬程序:

sconspython ./scripts/update.py all./bin/mcu_sim.exe

e641b7ac-cedc-11ee-9118-92fbcf53809c.png圖6Windows運(yùn)行MCU端模擬程序

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

    關(guān)注

    146

    文章

    17347

    瀏覽量

    352727
  • 串口屏
    +關(guān)注

    關(guān)注

    8

    文章

    546

    瀏覽量

    37595
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    254
收藏 人收藏

    評論

    相關(guān)推薦

    AWTK最新動態(tài)】AWTK 1.8版本發(fā)布

    是什么AWTK全稱ToolkitAnyWhere,是ZLG開發(fā)的開源GUI引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和PC打造的通用GUI引擎,為用戶提供一
    的頭像 發(fā)表于 08-30 12:48 ?490次閱讀
    【<b class='flag-5'>AWTK</b>最新動態(tài)】<b class='flag-5'>AWTK</b> 1.8版本發(fā)布

    AWTK使用經(jīng)驗(yàn)】如何更換AWTK SDK與渲染模式

    AWTK是基于C語言開發(fā)的跨平臺GUI框架?!?b class='flag-5'>AWTK使用經(jīng)驗(yàn)》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何播放攝像頭畫面?如何更換
    的頭像 發(fā)表于 08-01 08:25 ?1165次閱讀
    【<b class='flag-5'>AWTK</b>使用經(jīng)驗(yàn)】如何更換<b class='flag-5'>AWTK</b> <b class='flag-5'>SDK</b>與渲染模式

    Purple Pi OH 更改SDK編譯選項(xiàng)

    開源鴻蒙硬件方案領(lǐng)跑者觸覺智能本文適用于在PurplePiOH開發(fā)板更改SDK編譯選項(xiàng)。觸覺智能
    的頭像 發(fā)表于 07-06 08:33 ?339次閱讀
    Purple Pi OH 更改<b class='flag-5'>SDK</b>的<b class='flag-5'>編譯</b>選項(xiàng)

    開源獲獎(jiǎng)案例】基于T5L智能的指紋識別解決方案

    ——來自迪文開發(fā)者論壇本期為大家推送迪文開發(fā)者論壇獲獎(jiǎng)開源案例——基于T5L智能的指紋識別解決方案。該方案通過
    的頭像 發(fā)表于 07-06 08:13 ?374次閱讀
    【<b class='flag-5'>開源</b>獲獎(jiǎng)案例】基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的指紋識別解決<b class='flag-5'>方案</b>

    AWTK 開源串口開發(fā)(17) - 通過 MODBUS 訪問數(shù)組數(shù)據(jù)

    AWTK串口中,內(nèi)置MODBUS客戶端通道模型,不用編寫代碼即可實(shí)現(xiàn)在ListView中顯示遠(yuǎn)程設(shè)備上的數(shù)組數(shù)據(jù)。1.功能不用編寫代碼,實(shí)現(xiàn)對遠(yuǎn)程設(shè)備上數(shù)組數(shù)據(jù)的顯示。2.創(chuàng)建項(xiàng)目從模板創(chuàng)建項(xiàng)目
    的頭像 發(fā)表于 04-29 08:25 ?386次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(17) - 通過 MODBUS 訪問數(shù)組數(shù)據(jù)

    【插針機(jī)HMI開發(fā)】用AWTK開發(fā)人機(jī)界面

    AWTK介紹致遠(yuǎn)電子的AWTK開源GUI引擎,提供了AWTK-C、AWTK-MVVM和AWTK
    的頭像 發(fā)表于 04-19 08:23 ?628次閱讀
    【插針機(jī)HMI開發(fā)】用<b class='flag-5'>AWTK</b>開發(fā)人機(jī)界面

    AWTK 開源串口開發(fā)(16) - 提供 MODBUS 服務(wù)

    AWTK串口內(nèi)置MODBUS從站模型,不用編寫一行代碼即可讓串口提供MODBUS服務(wù),讓遠(yuǎn)程設(shè)備通過MODBUS協(xié)議訪問
    的頭像 發(fā)表于 04-13 08:24 ?512次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(16) - 提供 MODBUS 服務(wù)

    AWTK 開源串口開發(fā)(15) - 通過 MODBUS 訪問遠(yuǎn)程數(shù)據(jù)

    AWTK串口內(nèi)置MODBUSClient模型,支持用MODBUS協(xié)議從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。不用編寫代碼即可實(shí)現(xiàn)對遠(yuǎn)程設(shè)備數(shù)據(jù)的顯示和修改。在AWTK
    的頭像 發(fā)表于 03-30 08:23 ?457次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(15) - 通過 MODBUS 訪問遠(yuǎn)程數(shù)據(jù)

    AWTK 開源串口開發(fā)(14) - 界面重用

    AWTK串口支持同一個(gè)界面綁定不同的數(shù)據(jù),本文以家居控制為例,介紹一下界面重用的方法。在家居控制應(yīng)用中,我們演示了空調(diào)和咖啡機(jī)界面?,F(xiàn)在我們來想一想,如果有多個(gè)空調(diào)怎么辦呢?當(dāng)然最直觀的方法,就是
    的頭像 發(fā)表于 03-23 08:23 ?417次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(14) - 界面重用

    【從0開始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到RTOS平臺

    AWTK是基于C語言開發(fā)的跨平臺GUI框架。本系列文章介紹如何從0開始創(chuàng)建AWTK應(yīng)用程序,包括搭建開發(fā)調(diào)試環(huán)境、使用AWTK創(chuàng)建Hello工程并在模擬器上運(yùn)行、將
    的頭像 發(fā)表于 03-21 08:23 ?682次閱讀
    【從0開始創(chuàng)建<b class='flag-5'>AWTK</b>應(yīng)用程序】<b class='flag-5'>編譯</b>應(yīng)用到RTOS平臺

    AWTK 開源串口開發(fā)(13) - 計(jì)算器應(yīng)用

    計(jì)算器是一個(gè)常見的應(yīng)用程序,在AWTK串口中,利用fscript表達(dá)式計(jì)算函數(shù),無需編寫一行傳統(tǒng)的代碼,即可實(shí)現(xiàn)一個(gè)簡單的計(jì)算器應(yīng)用程序。1.功能計(jì)算器是一個(gè)很常見的應(yīng)用,比如在電子秤中,可能
    的頭像 發(fā)表于 03-16 08:23 ?6650次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(13) - 計(jì)算器應(yīng)用

    AWTK 開源串口開發(fā)(12) - 記事本應(yīng)用

    記事本是一個(gè)常用的應(yīng)用程序,在AWTK串口中,內(nèi)置文件模型和文件選擇對話框,無需編寫一行傳統(tǒng)的代碼,即可實(shí)現(xiàn)一個(gè)簡單的記事本應(yīng)用程序。記事本是一個(gè)很常用的應(yīng)用,用來編輯和查看文本文件非常方便。在
    的頭像 發(fā)表于 03-09 08:23 ?404次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(12) - 記事本應(yīng)用

    AWTK 開源串口開發(fā)(11) - 天氣預(yù)報(bào)

    AWTK串口內(nèi)置了XML/JSON/INI等各種數(shù)據(jù)文件的模型,并支持用HTTP/HTTPS從網(wǎng)絡(luò)獲取數(shù)據(jù)。不用編寫一行代碼,即可實(shí)現(xiàn)天氣預(yù)報(bào)、股票行情、航班查詢和快遞查詢等功能。天氣預(yù)報(bào)是一個(gè)很
    的頭像 發(fā)表于 03-05 08:24 ?446次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(11) - 天氣預(yù)報(bào)

    AWTK開源智能串口方案】設(shè)計(jì)UI界面并上傳到串口

    本篇文章將介紹如何使用AWStudio設(shè)計(jì)串口端的UI界面和添加綁定規(guī)則,以及怎么將資源文件上傳到串口端。引言:AWTK-HMI是基于
    的頭像 發(fā)表于 02-22 08:24 ?813次閱讀
    【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</b><b class='flag-5'>智能</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>方案</b>】設(shè)計(jì)UI界面并上傳到<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    AWTK 開源串口開發(fā)(9) - 用戶和權(quán)限管理

    AWTK串口中,內(nèi)置用戶管理和權(quán)限控制的模型,無需編碼即可實(shí)現(xiàn)登錄、登出、修改密碼、權(quán)限控制、創(chuàng)建用戶、刪除用戶等功能,本文介紹一下用戶管理和權(quán)限控制的基本用法。用戶管理和權(quán)限控制是一個(gè)常用
    的頭像 發(fā)表于 02-19 12:10 ?555次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>開發(fā)(9) - 用戶和權(quán)限管理