首先感谢华芯微特与21ic举办的开发板评测活动,华芯微特刚推出的时候我就比较关注它,因为它是以驱动屏幕为主,一般会作为HMI来使用,所谓HMI就是人机交互界面,大家常用的串口屏就属于HMI的一种。今天有幸可以体验一下华芯微特新推出的SWM341甚是开心。简单的开箱就不过多赘述了,直接说说如何使用SWM341实现HMI的功能吧。 第一步,需要去官网下载资料,我是把资料都下载下来了,其实如果想单独体验SWM341的话,就下载100这个文件夹,和00这个文件夹,还有00,01,02的PDF手册即可。 图1 华芯微特资料结构 接下来就是研究如何实现HMI的功能了,华芯微特的HMI比较有意思,就是采用上位机做UI,然后通过U盘的模式将上位机做好的UI写在开发板的外部flash之中,如果想实现其他控制功能,还可以通过将上位机生成的框架替换到100.SynwitHMI\HMIBuilder_v0.3.0\project\app\src\apps\ui_src之中,其实HMIBuilder_v0.3.0这个工程就相当于一个框架,然后你搭建好内容之后,就可以生成一个ui_src文件夹,替换之后就可以形成你自己想要的UI功能,并且可以在里面加入自己想要实现的控制功能,这么做的优势是可以节省一个MCU来做控制。 图2 上位机生成的源码 如果不想修改其他功能,就用个UI界面的话,也可以不做任何处理,直接将上位机生成的SynwitManifest.cfg和ui.bin复制到开发板虚拟出的U盘之中即可。 接下来讲一下上位机的使用,首先就是打开上位机的软件了,该软件在100.Synwit HMI\HMIBuilder_v0.3.0\uiEditor的uiEditor.exe之中,双击它即可,这里建议该软件不要在中文目录下并且不要在长目录下,容易崩溃。软件打开的界面效果如图3所示。 图3 上位机创建工程 创建好工程之后,就可以跟现有的HMI软件差不多了,这个软件界面有些像VB,很是熟悉,大概看了一下菜单栏,工具栏等等,就可以知道这个软件的使用方式方法了。本次就简单的使用一下,因此就加了一个图片作为背景,然后加了一个文字和一个开关。效果如图4所示。(Ps.比较喜欢的是,这个软件带有在线仿真的功能,这就可以减少与硬件联调的次数,既节约了时间,又减少了联调的麻烦,这一点我很是喜欢) 图4 上位机模拟的效果 想要的效果都做出来了,仿真也是不错,接下来就需要把上位机生成的文件,烧录到开发板之中了,烧录开发板之前,需要给开发板烧录一个框架程序,也就是100.Synwit HMI\HMIBuilder_v0.3.0\project\app这里的keil工程文件,这里需要注意的是,编译程序很大,其实这个单片机的存储也是很大,但是在烧录算法之中都是标注的常规大小,因此需要在size这里修改一下,修改成0x4000。 图5 程序配置 配置完成之后,就可以将上位机生成好的文件烧录到开发板之中了,但是烧录之前要将开发板配置成U盘模式,也就是将开发板的D2接上高电平。接完之后再接入电脑,就可以提示一个U盘需要格式化,是否格式化的提示。 图6 开发板第一次虚拟成U盘时,需要格式化 这里比较有意思的是,开发板上放置的是一颗16MB的flash,但是在我电脑上只让我格式了2M的大小,如图7所示。 图7 U盘变成2M大小 这个问题不知道因什么而引发的,后来我在电脑的存储管理之中发现,属实是16M的存储空间,但是有14M未分配,后来通过重新分卷,解决了这个问题。不然呐,这14M的空间可就木有喽。 图8 U盘剩余14M未分配 至此,问题也就都扫空了,就可以将文件复制到U盘之中了。复制之后如图9所示。 图9 U盘需要存的文件 复制完成之后,就需要将D2与高电平断开,然后重新上电,就可以正常看到上位机绘制好的UI了,如图10所示。 图10 开发板显示的效果 总结:体验这个HMI我总共使用了三个小时,因为搭建这个环境属实比较麻烦,下载程序需要修改空间大小,还有熟悉上位机软件的使用,不过三小时其实也是正常的,毕竟这个框架可以节省很多搭建UI的代码,这省的不仅仅是时间,还有脑细胞嘞,所以,在这里给华芯微特的设计点个赞,这个HMI方案不仅仅可以节省时间,还能节省代码,如果有简单控制功能的需求,还可以节省一个MCU的成本,一箭三雕是真的好。最后,再次感谢华芯微特与21ic的给力活动。
|