国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

ZLG致遠電子 ? 2024-02-19 12:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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


MCU端簡介

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

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

圖1AWTK-HMI工作原理

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

MCU開發基本流程

在使用API前需要把MCU SDK加入到目標平臺編譯成庫或者直接放到項目中進行編譯,才可以在業務邏輯中調用這些API,關于如何編譯文章后面章節會進行詳細介紹。

MCU SDK常用API

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

1、hmi_create或hmi_create_with_serial,這一步是創建一個hmi_t對象用于跟串口屏端進行通信。若需要使用網口通信可以先調用tk_stream_factory_create_iostream并根據函數說明傳進去正確的url參數,接著再將返回的tk_iostream_t對象作為hmi_create函數的參數;

2、hmi_set_prop,通過MCU端設置串口屏某個綁定變量值,如:設置空調開關或溫度值;

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

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

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

MCU SDK開發示例

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

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

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

嵌入式Linux平臺使用MCU SDK

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

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

3. 將hmi.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庫文件拷貝到板子上運行即可

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

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

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

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

下圖是使用Keil編譯現有的MCU端移植工程到STM32F429平臺的工程文件結構以及編譯輸出信息:

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庫路徑以及鏈接選項,編譯可執行程序即可。

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

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

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

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

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

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

    關注

    147

    文章

    18881

    瀏覽量

    395774
  • 串口屏
    +關注

    關注

    8

    文章

    617

    瀏覽量

    39447
  • awtk
    +關注

    關注

    0

    文章

    50

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    樂升串口芯片應用案例#芯片 #產品方案 #國產芯片

    串口
    qunqun012
    發布于 :2026年02月06日 18:21:45

    樂升 串口地暖器方案 #芯片 #pcb設計 #IC設計 #產品方案 #MCU

    串口
    qunqun012
    發布于 :2026年01月28日 18:32:13

    MCU單片機串口數據記錄儀方案

    在工業控制、環境監測、物流追蹤等眾多領域,如何可靠、便捷地記錄設備串口數據成為不少工程師關注的焦點。基于MCU單片機的串口數據記錄儀方案,正以其高效集成、靈活存儲和簡便操作的特點,成為
    的頭像 發表于 11-27 15:02 ?272次閱讀

    開源鴻蒙技術大會2025丨編譯器與編程語言分論壇:語言驅動系統創新,編譯賦能生態繁榮

    在萬物智聯的時代背景下,操作系統底層能力的構建離不開編程語言與編譯器的關鍵支撐。作為開源鴻蒙生態的核心技術,語言設計與編譯器、虛擬機實現的進步直接關系到開發效率、運行性能與系統安全。本
    的頭像 發表于 11-20 17:24 ?844次閱讀
    <b class='flag-5'>開源</b>鴻蒙技術大會2025丨<b class='flag-5'>編譯</b>器與編程語言分論壇:語言驅動系統創新,<b class='flag-5'>編譯</b>賦能生態繁榮

    基于兆易創新GD32系列MCU的GUI智能顯解決方案

    隨著人機交互需求的不斷提升,圖形用戶界面(GUI)已成為各類智能設備的核心組成部分。兆易創新GD32系列MCU憑借其豐富的外設接口和強大的處理能力,為用戶們提供了全面的GUI顯解決方案
    的頭像 發表于 08-19 14:49 ?1617次閱讀
    基于兆易創新GD32系列<b class='flag-5'>MCU</b>的GUI<b class='flag-5'>智能</b><b class='flag-5'>屏</b>顯解決<b class='flag-5'>方案</b>

    開源獲獎案例】AI智能交互新方案:基于T5L智能的AI DeepSeek大模型

    ——來自迪文開發者論壇本期為大家推送迪文開發者論壇獲獎開源案例——AI智能交互新方案:基于T5L智能的AIDeepSeek大模型。該
    的頭像 發表于 07-12 09:02 ?996次閱讀
    【<b class='flag-5'>開源</b>獲獎案例】AI<b class='flag-5'>智能</b>交互新<b class='flag-5'>方案</b>:基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的AI DeepSeek大模型

    大彩講堂:串口工程下載及問題診斷

    一、適合范圍適合大彩協議串口產品。二、工程下載M系列:打開VisualTFT軟件,在菜單欄→文件→‘創建新工程’,創建的工程必須以實體為準,可通過屏幕背面貼紙查看具體型號。以
    的頭像 發表于 06-24 16:27 ?1493次閱讀
    大彩講堂:<b class='flag-5'>串口</b><b class='flag-5'>屏</b>工程下載及問題診斷

    開源獲獎案例】基于T5L智能的音樂播放與歌詞顯示方案

    ——來自迪文開發者論壇本期為大家推送迪文開發者論壇獲獎開源案例——基于T5L智能的音樂播放與歌詞顯示方案。該方案通過T5L
    的頭像 發表于 05-08 09:52 ?831次閱讀
    【<b class='flag-5'>開源</b>獲獎案例】基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的音樂播放與歌詞顯示<b class='flag-5'>方案</b>

    啟明智顯4.3寸SC07智能串口儲能設備HMI解決方案

    。因此,啟明智顯提出將ESP32-S3方案4.3寸智能串口SC07應用于儲能設備。強大性能,穩定運行NO.1ESP32-S3芯片具備強大運
    的頭像 發表于 04-25 18:04 ?544次閱讀
    啟明智顯4.3寸SC07<b class='flag-5'>智能</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>儲能設備HMI解決<b class='flag-5'>方案</b>

    DIY開源智能馬桶

    []()【開源福利!電子學子專屬】某品牌智能馬桶:家庭實用與二次開發的絕佳之選 各位電子類專業的同學們,想不想擁有一個既可以用于家庭日常使用,又能作為超棒的二次開發練習平臺的神器?今天給大家帶來某
    發表于 04-13 21:56

    開源獲獎案例】基于T5L智能的FM收音機

    ——來自迪文開發者論壇本期為大家推送迪文開發者論壇獲獎開源案例——基于T5L智能的FM收音機。該方案基于T5L智能
    的頭像 發表于 03-28 15:39 ?903次閱讀
    【<b class='flag-5'>開源</b>獲獎案例】基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的FM收音機

    使用keil編譯下載usb_cdc_vcom freertos例程sdk2.15版本無法正常檢測到串口,怎么解決?

    使用keil編譯下載usb_cdc_vcom freertos例程sdk2.15版本無法正常檢測到串口但是sdk2.4.1的例程可以...怎么檢查問題
    發表于 03-27 08:00

    如何選擇國產串口

    在工業控制、智能設備等眾多領域,串口作為重要的人機交互界面,發揮著關鍵作用。隨著國內技術的飛速發展,國產串口以其出色的性能、豐富的功能和
    的頭像 發表于 03-26 18:02 ?842次閱讀
    如何選擇國產<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    串口與安卓到底有什么區別?

    不管是哪個領域,最重要的是找到最適合的技術路徑,讓屏幕成為功能實現的智慧窗口。串口與安卓也并非非此即彼的選擇,關鍵在于與應用場景的適配度。啟明智顯致力于為企業打造高性價比的智慧顯示方案
    的頭像 發表于 03-26 17:48 ?879次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>屏</b>與安卓<b class='flag-5'>屏</b>到底有什么區別?

    3.5英寸高清智能串口 8位MCU并口通信的COG裸 或帶驅動板232串口通信的智能

    3.5英寸高清智能串口 8位MCU并口通信的COG裸 或帶驅動板232串口通信的
    的頭像 發表于 02-18 14:49 ?941次閱讀
    3.5英寸高清<b class='flag-5'>智能</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b> 8位<b class='flag-5'>MCU</b>并口通信的COG裸<b class='flag-5'>屏</b> 或帶驅動板232<b class='flag-5'>串口</b>通信的<b class='flag-5'>智能</b><b class='flag-5'>屏</b>