简而言之,emWin(是 embed win 的缩写)是 Segger 公司针对嵌入式平台开发的图形软件库,通过调用 emWin 提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。而图形软件库究竟是什么呢?就是一些与图形界面相关的函数,它提供接口给用户调用。例如,在没有使用图形软件库时,要控制 LCD 显示一个圆,需要用户自行根据 LCD 驱动编写画圆的函数,而使用图形界面软件库的话,这个画圆函数已经由该软件库提供给用户,用户只需要调用这个函数,设置圆的半径、圆心、颜色就可以画出自己想要的圆,不需要再考虑画圆的算法了。
在国内的嵌入式行业中,由于 uC/OS 系统的名气,大家比较熟悉的嵌入式图形软件库是 uC/GUI,但大部分人不知道,其实 uC/GUI 是 Segger 公司为 Micrium 公司(制作 uC/OS 的公司)定制的图形软件库,说是定制,但其实它跟 emWin 的区别并不大,以致于本人并不知道它们在功能上究竟差别在何处。比较确定的是旧版本 uC/GUI 在网上还可以找到开源的代码,而当前新版本的 emWin 及 uC/GUI 只对用户提供了库文件,是不开源的。另外,Segger 公司还向 ST 公司出售了 emWin 的版权,从而 ST 公司也得到了定制版的 emWin,然后改了名字叫 STemWin。当用户在 STM32 芯片上使用 emWin 软件库时,是不需要向 emWin 或 ST 公司付费的。总而言之,uC/GUI 和 STemWin 都是 Segger 公司的 emWin 产品,而且它们的版本编号是统一的,如 uC/GUI 目前最新版本命名为 uC-GUI V5.24,STemWin 最新版本命名为 STemWin Library V5.24,emWin 最新版本则为 emWin V5.24,所以,要比较这三个软件库功能上的区别,只需要看它们的版本号就可以了。虽然功能上没有区别,但因为版权付费问题,在实际使用时就需要根据自己的平台来选择。由于我们使用的是 STM32 开发平台,自然我们选择的是 STemWin。因为如果我们选择的是 emWin 或 uC/GUI 使用到 STM32 产品上,同样是需要向 Segger 或 Micrium 公司购买版权的,而使用 STemWin 就不存在这个问题。在 STemWin 里有一个检测机制确定代码所运行的平台,若是 STM32 芯片,则运行正常,若非 STM32 芯片,就不能正常使用了。在本教程后续的讲解中,无特殊说明,不再区分 emWin 和 STemWin。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !