你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

实战入门RT-Thread柿饼UI

[复制链接]
fillmoreand 发布时间:2018-11-29 10:56
先来介绍一下我们的柿饼UI吧
PersimmonUI是以C++编写的,是RT-Thread上一款现代化图形UI库。使用C++是因为GUI上的一系列控件以C++面向对象的方式来描述会更合理。Widget -> 部件,所以也就是一个个对象:
1.png
" q/ Z# R! d/ S4 V, e
Widget
例如一个button,一个label,一个image。每个对象有他们自己的属性,方法等。
当然C++也会带来一些问题,例如原来C中可以任意使用函数指针,但在C++中却并不能随意单独使用类的方法(而需要在类的实例化对象环境中使用其成员方法)。所以这种也诞生了Qt方式的signal/slot模式。因为Qt的起始年代非常久远(Qt诞生于1995年),那个时候一些C++标准并不那么完备,所以QT signal/slot机制是以独立的,额外的moc编译器方式,生成新的C++代码来辅助完成。而PersimmonUI则使用了现代化一些的C++机制,也完成了类似signal/slot机制。
那么PersimmonUI signal/slot机制就是极限了吗?所以也就引出了本系列教程的主角,PersimM。
PersimM本意指的是PersimmonUI Module,即PersimmonUI的模块,甚至有的时候指的是运行PersimmonUI的硬件模块。因为它最初一个定义就是:基于Persim M硬件模块,用户可以非常方便、易用地进行自己的定制开发。
以下是一份PersimmonUI 和 PersimM的对比列表
功能
PersimmonUI
PersimM

' [8 i; X) y' }  N
UI展现形式
窗口(Window)
页面(Page)
+ Q) C/ D! v$ [1 y9 y1 \# d
开发方式
C/C++
UI设计器 + JavaScript
6 J& a4 N: |- s, F  ~- Y
图片格式
BMP, PNG, JPG等
BMP,PNG,JPG等
+ z# |$ C: b6 |$ G
字体
点阵字体,TTF字体
点阵字体,TTF字体

, m" s2 f- _& D
画布
以绘图设备方式操作,功能有限
带Alpha,抗锯齿完整画布功能
- _# e9 D+ B: u) e: F- f& d
动画效果
用户编程实现
设计器携带动画效果选择
/ Y6 e9 G0 ^2 p+ h, `
窗口/页面动画
用户编程实现
设计器选择切换动画效果
: B! v. \/ f6 [9 e
执行方式
编译、烧写完整固件
USB下载设计资源

5 U% ?% ~+ E# N
交互方式
触摸,按键
触摸,按键

) ?+ J; ^1 N% @/ ~
OTA 功能
用户自行实现
内置OTA升级功能

5 h- I' N  o6 c8 S( B3 @" o. g% S
WDT 功能
用户自行实现
内置WDT功能

- X4 W1 I" ^" w+ ~
串口操作
C/C++编程使用
JavaScript 串口操作
2 ?" O4 `# B- ^
文件系统
C/C++编程使用
JavaScript 文件操作

. m% ^/ V+ M) w
网络操作
socket套接字
提供http、MQTT客户端接口
从上面对比表格,可以非常清晰的发现,PersimM和传统模式已经有一些不一样,主要体现在:
  • 有UI设计工具,用于界面设计;
  • 编程方式不再是传统的C/C++模式,而是可以简单上手的JavaScript模式,美工+前端模式;
  • 整体是一体化的东西,例如OTA、WDT等这些功能都默认内置。2 C7 C# O1 P1 I- J9 O

( b3 A: @1 Z8 f$ C: g
* w2 `" Z8 h4 x4 o: P

评分

参与人数 1 ST金币 +20 收起 理由
STMCU + 20

查看全部评分

收藏 评论7 发布时间:2018-11-29 10:56

举报

7个回答
shanji 回答时间:2018-11-29 14:23:15
面向哪个平台的?
beyondimmaginat 回答时间:2018-11-29 17:04:56
应该是RT-Thread OS上的一款GUI,听说图形效果很不错的!
Stm32McuLover 回答时间:2018-11-29 20:53:35
开源吗
fillmoreand 回答时间:2018-12-3 16:49:56
哈佛祖安智 发表于 2018-11-29 20:53$ V2 B/ p3 f! L& `0 X4 H. ]# q: Z
开源吗
, c) B. r  G$ a# {
引擎开源
LN 回答时间:2018-12-3 16:59:11
使用os实现的吗?$ a+ z, `: x6 v5 L. ~
fillmoreand 回答时间:2018-12-3 18:03:45
HXM9531 发表于 2018-12-3 16:597 Z8 Y1 q- o# c
使用os实现的吗?

" i* [; M$ U1 x2 ^! F. [% m+ ]  F嗯呐
访客1989 回答时间:2018-12-6 09:18:07
看看

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版