STM32嵌入式UI库主流有LittleVGL和STemWin,这两种UI库都很不错,各有各的亮点。LittlevGL是一个免费的开放源代码图形库,它提供创建嵌入式GUI所需的一切,它具有易于使用的图形元素,精美的视觉效果和低内存占用;STemWin是由SEGGER公司开发的,主要用于STM32系列单片机的图形界面设计。
LittleVGL和STemWin优劣对比:
LittleVGL优点是,它是一个免费的开放源代码图形库,开发灵活性高,特别是在触摸检测上,它允许开发人员写入自己的检测代码,并且内置了任务调度;缺点是使用较为繁琐,需要写更多的代码,任务管理是单线程的,这意味着任务不能有耗时大的操作。
STemWin优点是,它是官方的标准UI库,接口调用类似于windows的API风格,易用性高,能大幅提高开发效率,目前第三方已提供有与操作系统UCOSIII的整合代码,可以利用操作系统的任务管理实现多任务的高效操作,这个多任务是多线程的,非阻塞的;缺点是触摸检测只能在UI触摸检测回调口中读取彩屏触摸的adc模拟值,此缺点对于品质较差的彩屏会是个头疼的问题。
选型结论:
能够获得高品质彩屏时,UI库选STemWin,它能大幅提升开发效率,任务执行效率也更高;没有高品质彩屏或考虑到将来可能无法采购到高品质彩屏时,UI库选LittleVGL,它的兼容性更高,能够适配更多厂家的彩屏。