在我们的嵌入式中,图像界面开发是少不了的,linux中又QT,miniGUI,而在stm32中使用stemwin比较多,下面简单说一下这个gui,详细的操作内容可以参考安富莱的教程,很全面
1.stemwin 针对st公司MCU修改的emwin
2.emwin 德国公司推出的图形界面库
3.ucgui emwin的前身。
4.stemwin不开源,在使用之前一定要使能stm32的CRC时钟
5.其他的gui(touchgfx,minigui)
6注意外部RAM和内部RAM的切换,注意内存分配大小。
7.替换打点,读点底层函数,将emwin和底层联系起来。
字体显示在小内存中,字少的话推荐使用
C文件格式生成,但是使用的是unicode,但是可能涉及到转码,也不适用汉字多的情况。
用字库的话,网上好多用的GB2312的方式,字库不占内存,感觉挺好
还有其他几种字库方式,根据平台和需求进行选定。
窗口切换思路
ATM机模式 电脑模式 隐藏和显示模式,只是思路可以自己进行优化。
简单的平台的编写思路来梳理
任务—》准备工作(初始化,分配内存等)--》创建主窗口—》主循环-》gui_delay
主循环中进行按键的检测,根据按键值,发送按键消息给回调函数
然后调用GUI_Delay函数,会调用回调函数进行一些消息的处理。
Gui_delay肯定会调用回调函数,但是按键消息GUI_SendKeyMsg会不会马上调回调函数不清楚。
回调函数是创建窗口的时候创建的,可根据需求进行更改。
回调函数中通常包括消息处理,重绘等。