关于玲珑GUI,之前发了相关的教程:
一种代替串口屏的开源高效开发解决方案 | | 玲珑GUI在小熊派上的移植
现在开源这个项目的波哥做了一款可替代串口屏的核心板,我们来看下,这个是波哥送我的,看起来很小巧:
之前已经做过两款板子,但是成本高和灵活度低难以推广,因此重新设计了一个核心板,批量生产的情况下,成本可以压低,同时硬件二次开发灵活方便。由于资料较多,如果需要获取新老款板子的资料,和文章中的软件请加qq群(1004783094)获取。
一、产品特点
- 1、基于华芯微特swm32s
- 2、基于免费开源的玲珑GUI
- 3、微型核心板
- 4、配套bootloader bin文件,支持串口、tf卡升级
- 5、配套串口升级上位机
- 6、配套GUI编辑上位机
- 7、配套辅助开发上位机
- 8、邮票孔设计
二、使用流程
- 1、安装keil
- 2、安装最新版本的LingLongGuiBuilderTool
如果以前安装过,需要手动删除(keil-tools-customize tools menu中,删除LingLongGuiBuilder),新版本安装成功后,keil-tools中会出现LingLongGuiBuilder、addFile、LLGuiEx三个小工具
- 3、下载swm32NanoBoot.bin到单片机中
串口使用swm32s原厂的ISP工具烧录
jlink使用swm32s原厂软件可以烧录
stlink、dap请使用群文件中的coFlash烧录
- 4、打开keil项目:App_swm32sNano
- 5、添加gui代码
启动gui工具keil-tools-LingLongGuiBuilder
本次测试添加text控件,并且选择ascii字符集
- 6、配置外部按键功能
6.1、启动guiEx工具keil-tools-LLGuiEx
6.2、如图输入参数,并且配置按键
按键key1连接PB3,上拉10K电阻,按下时为低电平
6.3、先点击Save All,再点击Build,返回keil,自动添加代码到项目中
- 7、实现外部按键和gui控件联动
7.1、guiEx的button页面中,选择列表中按键,再点击左侧功能按键press,此时已自动复制代码
7.2、返回keil,打开对应ui页面的c代码,当前项目的文件为ui_homeLogic.c
7.3、在void ui_homeLogicLoop(void)中粘贴代码
7.4、添加text控件的操作
代码如下:
代码语言:javascript复制void ui_homeLogicLoop(void)
{
if(llEasyButtonGetState(EBTN_KEY1_NUM,EBTN_PRESS))
{
nTextSetText(ID_TEXT_0,"press");
}
if(llEasyButtonGetState(EBTN_KEY1_NUM,EBTN_RELEASE))
{
nTextSetText(ID_TEXT_0,"release");
}
}
- 8、编译下载,此时已经实现按键和控件的联动
配置屏幕(需要连接TF卡) 在tf卡中放入cfg.ini,配置内容如下
代码语言:javascript复制[cfg area]
rtpReset=0 //=1重新校正电阻触摸
checkAppCrc=1 //=1检查App的crc值是否正确
//通过TF卡升级的时候,修改以下参数匹配不同的屏幕,用于显示升级进度
[boot tft]
width=800
height=600
hfp=32
hbp=120
vfp=5
vbp=31
clkDiv=1
clkAlways=1
samplEdge=1
hsyncWidth=0
intEOTEn=1
[boot uart]
waitTimeMs=500 //每次启动的时候,等待串口升级触发代码的时间
虽然现在软件只有寥寥几个功能,但也实现了最基本的串口屏功能,请各位可以提出宝贵意见,让这套软件成长起来,能真正的帮助到广大开发人员,节省时间。