今天小编给大家带来的是SWM34S上位机工程介绍,SWM34S搭配其孪生的上位机工程,无论是功能开发还是界面设计都能起到事半功倍的效果。
本文以SWM34SVET6_A3_Debug为例,带大家简单了解SWM34S上位机工程的整体框架。
1、首先,我们需要安装Arm Keil MDK 开发环境,安装好所需的pack包,所需pack包可在资源网盘中下载。
2、双击打开app.uvprojx文件,根据所用芯片选择合适的Target,这里选择第一个。
3、从界面的左侧可以看到所有分组,下面就给大家讲解每个分组的用途。
4、以lv_开头的为lvgl的文件,包括文件、主题样式、组件等,这部分在lvgl的官网有详细的介绍,这里就不再进行赘述。
5、apps主要是用于用户引导和功能初始化,包括bootscreen(芯片上电或初始化时显示开机图片或视频)、app_usbmsc(用于芯片上电或初始化时进入USB模式,方便用数据线通过PC将制作好的ui文件放入外部FLASH或SD卡)、main(所有程序的入口和初始化)。
6、board\common为SWM34S所有系列芯片共用的功能,包括board(LCD功能初始化)、dev_jpeg(jpeg硬件解码初始化及调用)、dev_sdram(SDRAM初始化)、dev_systick(系统时钟初始化及调用,可实现毫秒级计数和微秒级延时)、dev_uart(串口初始化及收发都放在这里)、dev_dac(DAC初始化,用于音频的播放)、dev_i2s(I2S初始化,用于音频数据的传输)
7、board\swm34svet6_a3为SWM34SVET6芯片指定引脚的初始化(其它同理),这个随着芯片引脚数和板子的硬件设计的改动而变动,a3指的是SWM34SVET6第三代屏驱板,包括dev_tp(I2C初始化,用于触摸芯片的数据传输,触摸I2C的引脚便在此定义)、dev_lcdc(背光、复位和RGB所有信号脚定义的地方)。
8、peripheral为触摸和lcd驱动的初始化,工程已经放入已适配且常用的触摸IC和lcd型号,包括3种分辨率的通用型号lcd屏、6种常用lcd屏以及5种常用触摸IC,如有其它型号的lcd屏可自行进行适配。
9、mass_storage为SWM34S系列MCU连接PC和外部FLASH的驱动,是用于沟通MCU到外部Flash以及PC到外部Flash的桥梁,包括descriptors(USB硬件描述)、FlashDisk(Flash读写)、MassStorage(外部SPI Flash驱动)。
10、FatFs为文件系统相关的驱动,包括diskio(文件系统设备驱动)、ff(文件数据驱动)、ffunicode(文件系统unicode编码)。
11、CSL\StdPD为SWM341系列芯片驱动库。
12、CLS\CMSIS为SWM341系列芯片的内核驱动,包括system_SWM341(系统时钟驱动)、startup_SWM341(启动文件),这部分决定了MCU能否正常工作,请不要随意修改!!!
13、ui_src\appkit为上位机界面和控件初始化,用于初始化上位机设计的界面和控件。其中包含app.c文件,此文件一般无需手动创建和修改,将上位机生成的app.c拷贝即可。当app.c为空时,会将所有的控件和功能进行注册,此时编译的文件会比较大。
14、ui_src为上位机界面资源文件,用于每个界面的逻辑操作。其内置有三个钩子函数:进入界面前、准备离开界面前、界面定时,界面资源文件也无需手动创建,将上位机生成的界面资源文件拷贝且添加到工程后再添加所需的逻辑即可。注:为避免覆盖掉所写的程序,同一界面资源文件拷贝一次即可!
更多详情请参考Synwit UI Creator与LVGL结合应用指引 和 华芯微特屏驱上位机使用手册 。
对于使用除SWM34S外的屏驱芯片的开发者来说,敬请期待UI Creator-ugui上位机工程篇。
结语:
华芯微特多款屏驱芯片系列均已支持使用上位机设计界面,操作简单,设计便捷,有什么不懂的地方还可以在华芯微特论坛(bbs.synwit.cn)中查找开发技术资料或发帖向我们提问,期待您与华芯微特的每一次邂逅!
欢迎多多点赞、转发、分享,你的每次支持都是对小编的鼓励!