玲珑swm32sNano —— 可以代替串口屏的核心板

2021-08-25 09:55:23 浏览数 (1)

关于玲珑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 //每次启动的时候,等待串口升级触发代码的时间

虽然现在软件只有寥寥几个功能,但也实现了最基本的串口屏功能,请各位可以提出宝贵意见,让这套软件成长起来,能真正的帮助到广大开发人员,节省时间。

0 人点赞