0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

玩转ZMP110x创新串口屏的虚拟串口屏开发模式

立功科技 来源:立功科技 作者:求远电子 2023-02-02 14:18 次阅读

本文导读

ZMP110x创新串口屏应用开发如何脱离硬件,仅在PC上就完成全部的UI开发和通信调试工作?下面就跟随小编步伐,一起玩转虚拟串口屏开发模式吧。

普通串口屏需要拿到实物后,使用对应的上位机进行开发、烧录,然后下载到串口屏中进行验证;但既然都用串口屏了,电脑上也有串口,也有屏幕,为啥开发过程不在电脑上一步到位呢?下面一起看下ZMP110x创新串口屏应用开发如何以虚拟串口的方式在PC上完成全部的UI开发和通信调试工作。

AWTK 全称 Toolkit AnyWhere,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎。基于“AnyWhere”这一特性,在AWTK Designer中拖拽生成的UI,本来就可以在“AnyWhere”中运行。

实现思路

基于这一思路,只需将PC端interwetten与威廉的赔率体系 运行的串口屏程序的“串口”补齐,使其具备收发串口数据的功能,就能仅在PC端完成ZMP110x串口屏的开发验证!

虚拟串口

这一步有许多的现有方案,本文就不再赘述。

打开串口

使用AWTK集成的串口流扩展模块tk_iostream_ serial_t中的tk_iostream_serial_create函数打开串口。

收发数据

串口屏中接收到数据会发送一个自定义的消息,调用串口指令解析函数,并把数据传入函数中;为了兼容串口屏程序,PC端也采用了同样的操作。

至于发送数据就更加简单,增加与串口屏中同名的发送函数,在函数中调用串口输出流,发送串口数据。

实际操作

如图所示,经过优化,客户在实际使用时仅需拷贝两个文件夹,修改两个文件即可。

1.以新建的空白UI为例,将“pc_uart_debug”和“serial”两个文件夹粘贴在UI工程路径下的src文件夹:

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

图1全部更改图示

串口默认配置为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”中添加串口初始化及解初始化函数:
/**
* 当程序初始化完成时调用,全局只触发一次。
*/
static ret_t application_on_launch(void) {
 pc_uart_debug_init();  //PC端串口初始化
 return RET_OK;
}


/**
* 当程序退出时调用,全局只触发一次。
*/
static ret_t application_on_exit(void) {
 pc_uart_debug_deinit();  //PC端串口解初始化
 return RET_OK;
}
3.用文本编辑器打开“SConscript”,由于实现枚举串口的为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中打开此工程,编译后点击模拟运行,在弹出的UI窗口中会出现选择串口的白色小框;此时电脑上已有两个互相连接的虚拟串口COM5和COM6,点击OPEN按钮,令UI程序使用COM5,在串口助手中使用COM6,即可完成接下来的开发/测试工作:

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

图2运行效果

恢复到实体串口屏

在电脑端完成开发后,将此UI加入到串口屏eclipse工程中仍旧仅需屏蔽“tests”文件夹,即可正常编译,编译完成后就能将UI固件下载到实体串口屏中,完成整个流程:

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

图3eclipse工程中编译结果

效果展示

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3577

    浏览量

    129336
  • PC
    PC
    +关注

    关注

    9

    文章

    2069

    浏览量

    154099
  • 串口
    +关注

    关注

    14

    文章

    1549

    浏览量

    76328
  • 虚拟串口
    +关注

    关注

    3

    文章

    62

    浏览量

    13869
  • 串口屏
    +关注

    关注

    8

    文章

    532

    浏览量

    37377

原文标题:【威廉希尔官方网站 分享】玩转ZMP110x创新串口屏的虚拟串口屏开发模式

文章出处:【微信号:立功科技,微信公众号:立功科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ZDP1440串口应用开发如何使用虚拟串口调试

    ZDP1440串口应用开发如何使用虚拟串口调试呢?本文将详细方法分享给大家。
    的头像 发表于 01-25 11:32 1647次阅读
    ZDP1440<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>调试

    Keil 开发环境与虚拟串口绑定调试

    显示也会跟着一起变化。由于虚拟串口跟真实的串口功能一模一样,这样的调试模式无异给
    发表于 05-25 14:25 27次下载

    串口开发环境与虚拟串口绑定调试-V2.0

    串口开发环境与虚拟串口绑定调试,大家可以来学习下
    发表于 03-21 20:01 20次下载

    串口如何下工程

    串口 工业串口 组态串口 串口
    发表于 08-29 10:07 6次下载

    串口是什么,串口组成及方案介绍

    串口,可组态方式二次开发的智能串口控制显示,是指带有串口通信的TFT彩色液晶
    的头像 发表于 05-16 14:53 1.1w次阅读

    基于AWTK推出的ZMP110x串口应用方案

    串口广泛应用于工业自动化、智能家电、医疗设备、共享设备等各个显示领域。立功科技基于AWTK推出的ZMP110x串口应用方案,真正实现秒开
    发表于 07-25 17:16 1217次阅读

    2小时可以在ZMP110x创新串口上做一个什么样的UI?

    在UI设计完成后,将整个UI项目拷贝到eclipse工程的”awtk_demo”文件夹中,并配置工程;编译后生成的bin文件即为UI固件,更名为“awtk.bin”,并将其拷贝到SD卡或U盘;插入到串口主控板,并短接R与G,按下复位按键即可完成
    的头像 发表于 11-23 14:41 1677次阅读

    什么是串口

    通俗易懂点解释:带串口控制的液晶,故串口+,可组态方式二次开发的智能串口控制显示
    的头像 发表于 12-23 16:08 3423次阅读

    虚拟串口工作原理

    虚拟串口工作原理 Ø 虚拟串口生成 通过在计算机屏幕上创建显示窗口. 按照一定的协议把相应的
    的头像 发表于 05-04 17:47 940次阅读

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

    什么是串口? 串口,可组态方式二次开发的智能串口控制显示
    的头像 发表于 04-24 14:41 3525次阅读
    [<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>方案

    串口基础知识分享】什么是指令集串口?什么是组态串口

    指令集串口通常是指, 2010年前初期版本的串口。从2010年后,发展的版本中,串口都已经形成了一个产业链,大彩科技工程师潜心钻研,直接
    的头像 发表于 04-24 14:47 1838次阅读
    【<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>?

    串口怎么开发

    以淘晶驰的串口为例,讲解一下串口是怎么开发的。 首先,先下载一个上位机软件:《USART HMI》
    的头像 发表于 02-22 16:42 2588次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>屏</b>怎么<b class='flag-5'>开发</b>?

    [串口定义2022最新版]串口组成?串口方案?

    什么是串口?串口,可组态方式二次开发的智能串口控制显示
    发表于 04-24 14:38 11次下载

    大彩串口控件教程5 - 串口表盘应用

    大彩串口控件教程5-串口表盘应用
    发表于 04-29 12:48 0次下载

    帝晶虚拟串口的应用

    帝晶虚拟串口的应用
    的头像 发表于 04-02 13:39 1359次阅读
    帝晶<b class='flag-5'>虚拟</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>的应用