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 目录下生成了一些代码框架,这些代码并没有用到,可以删除也可以不用管它,但是不能加入编译。

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

    关注

    117

    文章

    3848

    浏览量

    85472
  • 串口屏
    +关注

    关注

    8

    文章

    627

    浏览量

    39697
  • awtk
    +关注

    关注

    0

    文章

    50

    浏览量

    535
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何将evkbmimxrt1170_hello_world_cm7.bin下载到 QSPI Flash?

    我修改了 hello_world.c 如下 PRINTF(“测试你好世界。 那么,是否在调试 USB 端口上呈现“TEST hello world”? 1. 使用哪个 USB
    发表于 04-22 11:20

    在 MCUXpresso for VSCode for imx93EVK 中导入 Trustzone hello_world_ns 的示例应用失败,为什么?

    我正在尝试从 MCUXpresso for VSCode 中的 mcuxsdk 存储库导入 hello_world_ns 示例项目。在“从存储库导入示例”对话框中,我选择 SDK(我已经尝试
    发表于 04-20 06:31

    IMX93 测试hello_world应用报错,是什么原因导致的?

    我正在按照记录测试hello_world应用程序,但我收到错误。是什么原因?
    发表于 04-02 06:06

    基于凌羽派的OpenHarmony北向应用开发Hello World 示例应用

    设备或模拟器 如未完成环境搭建,请参考:开发环境搭建指南 三、快速开始 1. 打开项目 使用 DevEco Studio 打开项目中的 helloword 目录: 系统可能会提示您同步项目,点击
    发表于 02-25 11:25

    【RA-Eco-RA2E1-V1.0开发板试用】Hello World

    板,可以看到开发板持续输出 Hello World, This is RA-Eco-RA2E1-48PIN-V1.0
    发表于 02-04 20:34

    【瑞萨RA6E2地奇星开发板试用】OLED 屏幕驱动,串口打印

    打印 Hello World OLED 12864 显示显示 Hello World串口
    发表于 12-19 18:27

    VS Code运行 pytest_hello_world.py

    VS Code运行 pytest_hello_world.py
    的头像 发表于 11-24 00:33 764次阅读

    【瑞萨RA6E2】开箱、Hello World串口+OLED)

    ,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello W
    发表于 11-09 07:49

    【CPKCOR-RA8D1】基础串口打印测试

    本文将演示如何为瑞萨CPKCOR-RA8D1开发板配置串口功能,并实现最简单的“Hello World”数据打印。
    发表于 10-30 15:23

    ddr200t开发板运行hello world

    大家好,我们是seu120队,队伍编号是CICC1518,此次分享芯来hello world例程,并维护芯来的文档,有少些内容需要修改。 生成bit和mcs文件并没有遇到问题,参考: https
    发表于 10-27 08:34

    【RA4M2-SENSOR】开箱、Hello World串口+OLED)

    ,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello W
    发表于 10-16 00:03

    【RA4E2开发板评测】开箱、Hello World串口+OLED)

    ,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello W
    发表于 10-13 21:33

    【RA-Eco-RA6M4开发板评测】开箱、Hello World串口+OLED)

    文章使用 Keil 开发,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示
    发表于 07-19 04:09

    【Milk-V Duo S 开发板免费体验】2 - 安装编译环境并测试Hello world!

    其中的gcc/riscv64-linux-musl-x86_64对我们才有用。 测试Hello world 程序编译 以hello-world为例,进入该例子目录直接执行 make 即可: cd
    发表于 07-07 21:18

    【润开鸿HH-SCDAYU800A开发板试用体验】Hello World

    \\\\\\\\toolchains Hello World 编写第一个应用程序 :最简单的Hello World 文件->新建项目,创建空项目: 项目属性默认: 文件->
    发表于 07-01 00:52