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

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

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

玩轉(zhuǎn)ZMP110x創(chuàng)新串口屏的虛擬串口屏開(kāi)發(fā)模式

立功科技 ? 來(lái)源:立功科技 ? 作者:求遠(yuǎn)電子 ? 2023-02-02 14:18 ? 次閱讀

本文導(dǎo)讀

ZMP110x創(chuàng)新串口屏應(yīng)用開(kāi)發(fā)如何脫離硬件,僅在PC上就完成全部的UI開(kāi)發(fā)和通信調(diào)試工作?下面就跟隨小編步伐,一起玩轉(zhuǎn)虛擬串口屏開(kāi)發(fā)模式吧。

普通串口屏需要拿到實(shí)物后,使用對(duì)應(yīng)的上位機(jī)進(jìn)行開(kāi)發(fā)、燒錄,然后下載到串口屏中進(jìn)行驗(yàn)證;但既然都用串口屏了,電腦上也有串口,也有屏幕,為啥開(kāi)發(fā)過(guò)程不在電腦上一步到位呢?下面一起看下ZMP110x創(chuàng)新串口屏應(yīng)用開(kāi)發(fā)如何以虛擬串口的方式在PC上完成全部的UI開(kāi)發(fā)和通信調(diào)試工作。

AWTK 全稱 Toolkit AnyWhere,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和 PC 打造的通用 GUI 引擎?;凇癆nyWhere”這一特性,在AWTK Designer中拖拽生成的UI,本來(lái)就可以在“AnyWhere”中運(yùn)行。

實(shí)現(xiàn)思路

基于這一思路,只需將PC端模擬運(yùn)行的串口屏程序的“串口”補(bǔ)齊,使其具備收發(fā)串口數(shù)據(jù)的功能,就能僅在PC端完成ZMP110x串口屏的開(kāi)發(fā)驗(yàn)證!

虛擬串口

這一步有許多的現(xiàn)有方案,本文就不再贅述。

打開(kāi)串口

使用AWTK集成的串口流擴(kuò)展模塊tk_iostream_ serial_t中的tk_iostream_serial_create函數(shù)打開(kāi)串口。

收發(fā)數(shù)據(jù)

串口屏中接收到數(shù)據(jù)會(huì)發(fā)送一個(gè)自定義的消息,調(diào)用串口指令解析函數(shù),并把數(shù)據(jù)傳入函數(shù)中;為了兼容串口屏程序,PC端也采用了同樣的操作。

至于發(fā)送數(shù)據(jù)就更加簡(jiǎn)單,增加與串口屏中同名的發(fā)送函數(shù),在函數(shù)中調(diào)用串口輸出流,發(fā)送串口數(shù)據(jù)。

實(shí)際操作

如圖所示,經(jīng)過(guò)優(yōu)化,客戶在實(shí)際使用時(shí)僅需拷貝兩個(gè)文件夾,修改兩個(gè)文件即可。

1.以新建的空白UI為例,將“pc_uart_debug”和“serial”兩個(gè)文件夾粘貼在UI工程路徑下的src文件夾:

37c81dd0-a2c1-11ed-bfe3-dac502259ad0.png ?

圖1全部更改圖示

串口默認(rèn)配置為baudrate=115200 bytesize=8 stopbits=1 flowcontrol=0 parity=0,如需修改,可在pc_uart_debug/ pc_uart_debug.h中修改:

#define PC_UART_BAUDRATE    115200
#define PC_UART_BYTESIZE    8
#define PC_UART_PARITY      1
#define PC_UART_STOPBITS    0
#define PC_UART_FLOWCONTROL  0
2.在“application.c”中添加串口初始化及解初始化函數(shù):
/**
* 當(dāng)程序初始化完成時(shí)調(diào)用,全局只觸發(fā)一次。
*/
static ret_t application_on_launch(void) {
 pc_uart_debug_init();  //PC端串口初始化
 return RET_OK;
}


/**
* 當(dāng)程序退出時(shí)調(diào)用,全局只觸發(fā)一次。
*/
static ret_t application_on_exit(void) {
 pc_uart_debug_deinit();  //PC端串口解初始化
 return RET_OK;
}
3.用文本編輯器打開(kāi)“SConscript”,由于實(shí)現(xiàn)枚舉串口的為C++程序,所以得在源文件中加入cpp文件:
import os
import sys
import platform


env = DefaultEnvironment().Clone()
BIN_DIR = os.environ['BIN_DIR']
LIB_DIR = os.environ['LIB_DIR'];


sources = Glob('**/*.c') + Glob('*.c') + Glob('**/*.cpp')


env.Program(os.path.join(BIN_DIR, 'demo'), sources, LIBS = env['LIBS'])

修改完畢,在AWTK Designer中打開(kāi)此工程,編譯后點(diǎn)擊模擬運(yùn)行,在彈出的UI窗口中會(huì)出現(xiàn)選擇串口的白色小框;此時(shí)電腦上已有兩個(gè)互相連接的虛擬串口COM5和COM6,點(diǎn)擊OPEN按鈕,令UI程序使用COM5,在串口助手中使用COM6,即可完成接下來(lái)的開(kāi)發(fā)/測(cè)試工作:

37dfc624-a2c1-11ed-bfe3-dac502259ad0.png

圖2運(yùn)行效果

恢復(fù)到實(shí)體串口屏

在電腦端完成開(kāi)發(fā)后,將此UI加入到串口屏eclipse工程中仍舊僅需屏蔽“tests”文件夾,即可正常編譯,編譯完成后就能將UI固件下載到實(shí)體串口屏中,完成整個(gè)流程:

37f2fb68-a2c1-11ed-bfe3-dac502259ad0.png

圖3eclipse工程中編譯結(jié)果

效果展示

以串口屏的智能家居“hmi_demo”為例,加入上述文件后就能在PC端完成演示。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    40

    文章

    3519

    瀏覽量

    128801
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2030

    瀏覽量

    153543
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1533

    瀏覽量

    75451
  • 虛擬串口
    +關(guān)注

    關(guān)注

    3

    文章

    60

    瀏覽量

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

    關(guān)注

    8

    文章

    518

    瀏覽量

    37006

原文標(biāo)題:【技術(shù)分享】玩轉(zhuǎn)ZMP110x創(chuàng)新串口屏的虛擬串口屏開(kāi)發(fā)模式

文章出處:【微信號(hào):立功科技,微信公眾號(hào):立功科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ZDP1440串口應(yīng)用開(kāi)發(fā)如何使用虛擬串口調(diào)試

    ZDP1440串口應(yīng)用開(kāi)發(fā)如何使用虛擬串口調(diào)試呢?本文將詳細(xì)方法分享給大家。
    的頭像 發(fā)表于 01-25 11:32 ?1422次閱讀
    ZDP1440<b class='flag-5'>串口</b><b class='flag-5'>屏</b>應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>如何使用<b class='flag-5'>虛擬</b><b class='flag-5'>串口</b>調(diào)試

    Keil 開(kāi)發(fā)環(huán)境與虛擬串口綁定調(diào)試

    顯示也會(huì)跟著一起變化。由于虛擬串口跟真實(shí)的串口功能一模一樣,這樣的調(diào)試模式無(wú)異給
    發(fā)表于 05-25 14:25 ?27次下載

    串口開(kāi)發(fā)環(huán)境與虛擬串口綁定調(diào)試-V2.0

    串口開(kāi)發(fā)環(huán)境與虛擬串口綁定調(diào)試,大家可以來(lái)學(xué)習(xí)下
    發(fā)表于 03-21 20:01 ?20次下載

    串口如何下工程

    串口 工業(yè)串口 組態(tài)串口 串口
    發(fā)表于 08-29 10:07 ?6次下載

    串口是什么,串口組成及方案介紹

    串口,可組態(tài)方式二次開(kāi)發(fā)的智能串口控制顯示,是指帶有串口通信的TFT彩色液晶
    的頭像 發(fā)表于 05-16 14:53 ?1.1w次閱讀

    基于AWTK推出的ZMP110x串口應(yīng)用方案

    串口廣泛應(yīng)用于工業(yè)自動(dòng)化、智能家電、醫(yī)療設(shè)備、共享設(shè)備等各個(gè)顯示領(lǐng)域。立功科技基于AWTK推出的ZMP110x串口應(yīng)用方案,真正實(shí)現(xiàn)秒開(kāi)
    發(fā)表于 07-25 17:16 ?1164次閱讀

    2小時(shí)可以在ZMP110x創(chuàng)新串口上做一個(gè)什么樣的UI?

    在UI設(shè)計(jì)完成后,將整個(gè)UI項(xiàng)目拷貝到eclipse工程的”awtk_demo”文件夾中,并配置工程;編譯后生成的bin文件即為UI固件,更名為“awtk.bin”,并將其拷貝到SD卡或U盤;插入到串口主控板,并短接R與G,按下復(fù)位按鍵即可完成
    的頭像 發(fā)表于 11-23 14:41 ?1565次閱讀

    什么是串口

    通俗易懂點(diǎn)解釋:帶串口控制的液晶,故串口+,可組態(tài)方式二次開(kāi)發(fā)的智能串口控制顯示
    的頭像 發(fā)表于 12-23 16:08 ?3095次閱讀

    虛擬串口工作原理

    虛擬串口工作原理 ? 虛擬串口生成 通過(guò)在計(jì)算機(jī)屏幕上創(chuàng)建顯示窗口. 按照一定的協(xié)議把相應(yīng)的
    的頭像 發(fā)表于 05-04 17:47 ?767次閱讀

    [串口定義2022最新版]什么是串口?串口組成及串口方案

    什么是串口? 串口,可組態(tài)方式二次開(kāi)發(fā)的智能串口控制顯示
    的頭像 發(fā)表于 04-24 14:41 ?3070次閱讀
    [<b class='flag-5'>串口</b><b class='flag-5'>屏</b>定義2022最新版]什么是<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><b class='flag-5'>屏</b>方案

    串口基礎(chǔ)知識(shí)分享】什么是指令集串口?什么是組態(tài)串口?

    指令集串口通常是指, 2010年前初期版本的串口。從2010年后,發(fā)展的版本中,串口都已經(jīng)形成了一個(gè)產(chǎn)業(yè)鏈,大彩科技工程師潛心鉆研,直接
    的頭像 發(fā)表于 04-24 14:47 ?1630次閱讀
    【<b class='flag-5'>串口</b><b class='flag-5'>屏</b>基礎(chǔ)知識(shí)分享】什么是指令集<b class='flag-5'>串口</b><b class='flag-5'>屏</b>?什么是組態(tài)<b class='flag-5'>串口</b><b class='flag-5'>屏</b>?

    串口怎么開(kāi)發(fā)?

    以淘晶馳的串口為例,講解一下串口是怎么開(kāi)發(fā)的。 首先,先下載一個(gè)上位機(jī)軟件:《USART HMI》
    的頭像 發(fā)表于 02-22 16:42 ?2284次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>屏</b>怎么<b class='flag-5'>開(kāi)發(fā)</b>?

    [串口定義2022最新版]串口組成?串口方案?

    什么是串口?串口,可組態(tài)方式二次開(kāi)發(fā)的智能串口控制顯示
    發(fā)表于 04-24 14:38 ?11次下載

    大彩串口控件教程5 - 串口表盤應(yīng)用

    大彩串口控件教程5-串口表盤應(yīng)用
    發(fā)表于 04-29 12:48 ?0次下載

    帝晶虛擬串口的應(yīng)用

    帝晶虛擬串口的應(yīng)用
    的頭像 發(fā)表于 04-02 13:39 ?1255次閱讀
    帝晶<b class='flag-5'>虛擬</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>的應(yīng)用