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

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

3天内不再提示

AWTK 串口屏开发(1) - Hello World

ZLG致远电子 2023-12-08 15:52 次阅读

本文以一个简单的温度设置程序为例,介绍 AWTK 串口屏的开发流程和 MVVM 数据绑定的基本方法。

功能

这个例子很简单,制作一个调节温度的界面。在这里例子中,模型(也就是数据)里只有一个温度变量

变量名

数据类型

功能说明

温度

整数

温度。范围 (0-100) 摄氏度


创建项目

从模板创建项目,将 hmi/template_app 拷贝 hmi/hello_word 即可。

第一个项目最好不要放到其它目录,因为放到其它目录需要修改配置文件中的路径,等熟悉之后再考虑放到其它目录。路径中也不要中文和空格,避免不必要的麻烦。

制作界面

用 AWStudio 打开上面 hello_world 目录下的 project.json 文件。里面有一个空的窗口,在上面加入下面的控件:

  • 静态文本
  • 环形进度条
  • 滑动条

并调节位置和大 小,做出类似下面的界面。

bb81c7fe-959e-11ee-9788-92fbcf53809c.png

添加绑定规则

1. 将环形进度条绑定到温度变量。添加自定义的属性v-data:value,将值设置为{温度},如下图所示:

v-data:value 表示控件的值,后面会经常用到,建议记住它。

bb86b192-959e-11ee-9788-92fbcf53809c.png

2. 将滑动条绑定到温度变量。添加自定义的属性v-data:value,将值设置为{温度},如下图所示:

bba90742-959e-11ee-9788-92fbcf53809c.png

3. 指定窗口的模型为 default。如下图所示:

bbb35972-959e-11ee-9788-92fbcf53809c.png

严格的意义上说,绑定规则也是一种代码,不过相比于 C 语言,它有下面的优势:

无需编译,直接运行

简单,通常只有一行。

易懂,声明式的语法。

初始化数据

修改资源文件 design/default/data/default_model.json, 将其内容改为:

{ "温度":25}

注意:

如果文件内容有中文(非ASCII字符),一定要保存为 UTF-8 格式。

重新打包资源才能生效。

编译运行

运行 bin 目录下的 demo 程序,拖动滑动条上的滑块,滑动条的数据也会跟随改变。bbbeed32-959e-11ee-9788-92fbcf53809c.png

使用 MCU 模拟器与之进行交互

运行 mcu/simulator 目录下的 mcu_sim 程序,连接到 Localhost:2233。

拖动滑动条上的滑块,会看到模拟器上收到了对应的事件;

在模拟器中设置变量温度的数据,HMI 端的界面也会自动更新。

bbc395ee-959e-11ee-9788-92fbcf53809c.png

注意

本项目并没有编写界面相关的代码,AWStudio 在 src/pages 目录下生成了一些代码框架,这些代码并没有用到,可以删除也可以不用管它,但是不能加入编译。

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

    关注

    114

    文章

    3631

    浏览量

    79552
  • 串口屏
    +关注

    关注

    8

    文章

    474

    浏览量

    36621
  • awtk
    +关注

    关注

    0

    文章

    25

    浏览量

    171
收藏 人收藏

    评论

    相关推荐

    AWTK 开源串口开发(12) - 记事本应用

    。在传统的的串口屏中,开发一个记事本应用,即使可能,也是非常麻烦的事情。在AWTK串口屏中,内置文件模型和文件选择对话框,实现一个简单的记事本,不需要编写代码,设计好界
    的头像 发表于 03-09 08:23 116次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(12) - 记事本应用

    AWTK开源智能串口屏方案】设计UI界面并上传到串口

    本篇文章将介绍如何使用AWStudio设计串口屏端的UI界面和添加绑定规则,以及怎么将资源文件上传到串口屏端。引言:AWTK-HMI是基于AWTK
    的头像 发表于 02-22 08:24 208次阅读
    【<b class='flag-5'>AWTK</b>开源智能<b class='flag-5'>串口</b>屏方案】设计UI界面并上传到<b class='flag-5'>串口</b>屏

    AWTK开源智能串口屏方案】MCU SDK使用与编译运行

    本篇文章将介绍AWTK-HMI中的MCU端开发方法,包括MCUSDK常用API的说明、使用流程及如何编译到Linux和STM32平台。引言:AWTK-HMI是基于AWTK
    的头像 发表于 02-19 12:11 405次阅读
    【<b class='flag-5'>AWTK</b>开源智能<b class='flag-5'>串口</b>屏方案】MCU SDK使用与编译运行

    AWTK开源智能串口屏方案】HMI端程序移植编译及运行

    -HMI是基于AWTKAWTK-MVVM开发的低代码智能串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建
    的头像 发表于 01-18 08:24 295次阅读
    【<b class='flag-5'>AWTK</b>开源智能<b class='flag-5'>串口</b>屏方案】HMI端程序移植编译及运行

    AWTK 开源串口开发(6) - 定时器的用法

    定时器是个常用的功能,AWTK串口屏提供了丰富的定时器函数,用于定时器的启动、停止、暂停、恢复、修改和重置等功能,本文以计时器的例子来介绍定时器的基本用法。定时器也是一个常用的功能,在AWTK
    的头像 发表于 01-13 08:24 165次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(6) - 定时器的用法

    AWTK 串口开发(5) - MCU端 SDK 用法

    AWTK开源智能串口屏,不但开放了串口屏端全部源码,还提供了MCU端SDK,大大加快MCU软件的开发。本介绍一下MCU端SDK在不同平台上的用法。完整示例可以参考下面的
    的头像 发表于 01-06 08:24 161次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(5) - MCU端 SDK 用法

    DshanMCU-R128s2 Hello World!

    本文将介绍使用 R128 开发板从串口输出 Hello World 的方式介绍 SDK 软件开发流程。 载入方案 我们使用的
    的头像 发表于 12-22 17:24 285次阅读
    DshanMCU-R128s2 <b class='flag-5'>Hello</b> <b class='flag-5'>World</b>!

    ​【AWTK开源智能串口屏方案】方案介绍和工作原理

    本篇文章介绍一下AWTK开源智能串口屏方案的基本原理和实际使用效果,包括主要特点、应用场景、工作原理以及简单的Demo演示。引言:AWTK-HMI是基于AWTK
    的头像 发表于 12-21 08:24 405次阅读
    ​【<b class='flag-5'>AWTK</b>开源智能<b class='flag-5'>串口</b>屏方案】方案介绍和工作原理

    AWTK 开源智能串口屏方案

    AWTK开源智能串口屏方案发布,旨在解决传统串口屏诸多痛点,为用户提供更开放、更易用、更强大的开源串口屏方案。基于AWTK
    的头像 发表于 12-02 08:24 470次阅读
    <b class='flag-5'>AWTK</b> 开源智能<b class='flag-5'>串口</b>屏方案

    c语言hello world程序编写

    C语言"Hello world"程序的编写过程,并提供一些实用技巧和注意事项。 首先,我们需要一个C语言开发环境来编写和运行代码。在这里,我们可以选择一款集成开发环境(IDE)或者一个
    的头像 发表于 11-26 09:23 1338次阅读

    【从0开始创建AWTK应用程序】开发及调试环境搭建

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建
    的头像 发表于 11-11 10:00 297次阅读
    【从0开始创建<b class='flag-5'>AWTK</b>应用程序】<b class='flag-5'>开发</b>及调试环境搭建

    RA-RTT体验RT-Thead超级简单的hello world!

    在这篇帖子上,我们增加自己的代码,实现串口输出hello world等功能
    的头像 发表于 10-12 14:36 281次阅读
    RA-RTT体验RT-Thead超级简单的<b class='flag-5'>hello</b> <b class='flag-5'>world</b>!

    如何使用Arm Compiler 6构建Hello World

    Virtual上调试站台 本Arm®DS-5 Development Studio教程介绍了一个基本的Hello World C程序。它将是 如果您想在Armv8平台上进行裸机软件开发,这将非常有用,并显示
    发表于 08-08 07:41

    如何利用串口发送一个“Hello World

    第一节硬件解读大家的开发板到手之后,可以看见,只有一个USB口,那个口就是串口开发板A和开发板B公用一个串口,通过按键切换。我们以
    的头像 发表于 07-31 17:50 934次阅读
    如何利用<b class='flag-5'>串口</b>发送一个“<b class='flag-5'>Hello</b> <b class='flag-5'>World</b>”

    我的第一个UVM代码—Hello world

    你刚开始是怎么学UVM的?白皮书还是红皮书?而我是从hello world实验开始的。
    的头像 发表于 06-15 10:49 547次阅读
    我的第一个UVM代码—<b class='flag-5'>Hello</b> <b class='flag-5'>world</b>