在模拟器上和st单片机上使用以下代码: GUI_COLOR color0,color1; color0 = GUI_GetPixelIndex(rect.x1+1, rect.y0);color1 = GUI_GetPixelIndex(rect.x1+1, rect.y1); 左边模拟器,右边st单片机(keil) 发现读取出来的色值不一样,于是折腾下找到解决办法: 单片机上使用 color0 = GUI_Index2Color(GUI_GetPixelIndex(rect.x1+1, rec…
由于需要用到渐变色,且出现问题,所以对渐变色有了解. 相关函数 GUI_DrawGradientV GUI_DrawGradientH 须知: 1.渐变色在565色和888色下的显示完全不一样.在模拟器中的LCDConfig中可更改为565或888. 2.(565色LCD)在代码中使用的24位色,则在emwin中内部使用中则是将24位色转化为16位色,所以在模拟器上使用截图工具取点的颜色会发现中间渐变的颜色与实际计算得到的颜色完全不一样.例子:代码上(53,53,53)在模拟器上则显示(33,2…
上一篇随笔整理了一下逐行扫描型Memory LCD的显存管理与emWin移植,这篇就整理一下分页型Memory LCD显存管理与emWin移植. //此处以SSD1306作为实例 //OLED的显存//存放格式如下.//[0]0 1 2 3 ... 127    //[1]0 1 2 3 ... 127    //[2]0 1 2 3 ... 127    //[3]0 1 2 3 ... 127    //[4]0 1 2 3 ... 127    //[5]0 1 2 3 ... 127  …
因为Memory LCD 的特性,不能设置像素坐标,只能用缓存整体刷新. 所以对于Memory LCD来说,emWin移植仅与打点函数有关,这里用Sharp Memory LCD(ls013b7dh03)作为实例. //LCD的显存,逐行扫描//存放格式如下.//[0]0 1 2 3 ... 16    //[1]0 1 2 3 ... 16    //[2]0 1 2 3 ... 16    //[3]0 1 2 3 ... 16    //[4]0 1 2 3 ... 16    //[5]…
简介:emWin 包含完整的2-D 图形库,可供大多数应用程序充分使用 本例程介绍如何使用图形API绘制基本的2-D图形 实验指导书及代码包下载: 链接:http://pan.baidu.com/s/1c23Ndyo 密码:2cl9 实验现象:…
emWin(ucGui) Edit控件数值模式出现负数值编辑时,如果键盘按键全可以设置独立的"-","+"键,这样可以正常编辑正数和负数,但是要没有设置这两个键,编辑Edit的数值会比较麻烦,可以使用"上"键和"下"键修改符号,但是光标无法移动到后面的数值位,必须借助"左"键和"右"键来移动光标,在嵌入式里的按键比较有限制,如果不单独设立"+","+&quo…
emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的标记.所以在你手速多快的情况下都会有一个 key,1和key,0两个操作.程序中没有对按键的状态做判定,所以在PC上不管是按下,还是按下后离开都会进行响应(两次响应).   假设有以下的应用场景,一级菜单->(ENTER键)->二级菜单>(ENTER键)->三级菜单,即,在一级菜单是可…
本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip   在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值.然而,有时候这会是件困难的事.通常,较为容易(也更为有效)的是调用一个例程显示所需结 构的数值. emWin 支持各种十进制.十六进制和二进制输出.本章将对这些例程进行逐一描述.所有函数不需要使用浮点库,并对速度和大小进行了优化.当然"Sprintf"可以用于任何系统.使 用本章介绍的例程,有时可以简化操作,节省 ROM…
在emWin显示文本字符还是容易的,提供了各种不同的接口,下面是有关于字符显示的常用的用法,可以直接复制到VS2008的模拟ucGui(emWin模拟工程)中运行: 工程代码下载:1.emWin5.26(ucGui)VS2008字符显示   #include "GUI.h" #include "WM.h"   #include "CHECKBOX.h" #include "FRAMEWIN.h" #include "…
我用的是stm32,加了1MB的外部SRAM,在使用emWin的时候,将一部分内存分配给emWin使用.其实方法很简单,传入SRAM数据总线地址即可,数据位宽我采用16bit,因为使用的SRAM是16bit的,这样做比较合适.如果是在ARM9及以上的平台上使用,依葫芦画瓢的把DDRAM的物理地址传入emWin即可,不过地址位宽一般是32位的,大小由自己决定. /********************************************************************…