ucGUI 12864 从打点起】的更多相关文章

  ucGUI是纯C写的的,移植需要定义点阵数,颜色数,和画点函数 以下是ucGUI 12864下的移植 基于ST7920控制的12864液晶用于字符显示很方便的,但网友说用它显示图形并不合适,原因就是它绘图时先要关闭显示,绘完后又要打开,速度会较慢.我没有用过别的液晶,手中只有这一款,摆弄了几天,掌握了一点东西,写出来共享.  首先,我们知道,图形都是由像素点组成的,绘图的基础其实就是画点.只要我们能点亮液晶的任意一个像素点,那么绘图就不是什么难事了.万丈高楼平地起嘛,先要做的,当然是要打好基…
飞控的遥控器打算自己做,这样全局都能掌握,可以通过遥控器对飞控的参数和飞行模式进行修改,而买遥控器是做不到这样的哈..以后做图传的时候,屏幕还可以实时现实摄像头拍回来的画面,挺好的哈.. 做遥控我们选的是原子的战舰开发板,开发板附带小霸王那种遥控器,可以用这个来控制飞控哈,回忆童年有木有...板子还带一个ADXL345的加速度传感器,那还可以用开发板的姿态控制飞控的姿态..哈..应该挺好玩... 第一步我们打算先写一个GUI的界面,UI这东西就让我头疼哈.额..打算第一版就没什么UI,就把要显示…
在做一个用到ucGUI的项目的时候要用到不定的汉字和英文字符,但是ucGUI本身又不支持读取芯片外部flash的字库来显示,于是查了下资料,如下: http://www.cnblogs.com/hiker-blogs/archive/2013/01/04/2843538.html 站在巨人的肩膀上,我找到了将汉字库写进flash后,通过ucGUI的控件显示出来的方法,但是至此,并不能在一个字符串里添加汉字和英文,用于同时显示,因为flash里面没有英文字符的模. 为了让一个控件同时显示汉字和英文…
由于uCGUIBulider4.0不能在64位操作系统中运行,于是在电脑上通过VMware Workstation Pro搭建虚拟的32位的win7环境,然后把win7中用uCGUIBulider4.0生成ucGUI对话框移植到keil,然后发现控件中显示不了汉字.于是开始怀疑ucGUI底层函数有bug,于是花了好一段时间追踪底层函数走向.后来通过数组测试发现,通过uCGUIBulider产生的文件里面的每个汉字大小3字节,keil中的汉字大小是2字节,即两者编码方式不同.所以只要复制整个uCG…
发现12864只有主函数中不断刷新才有数据显示,,原因是写指令和写数据中没有加延时,加一个延时就好了.…
>_<" 模式窗口,只有结束该窗口时才能聚焦到其他的窗口上~…
上一篇:[stm32][ucos] 1.基于ucos操作系统的LED闪烁.串口通信简单例程 * 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了7个任务            任务名                                             优先级            APP_TASK_START_PRIO                               2            主任务            APP_TASK_USER_…
>_<:学习贴图[bmp图]:首先找一张bmp格式的图片,然后下载uC-BmpCvt软件,打开改图片 >_<:然后点击Image-Conver-Into-Best Palatte调成最佳调色板,然后save格式为默认格式: >_<:结果生成了一个kk.c文件: 这里Colorskk[]是16个颜色; Palkk是根据上面的16个颜色构建对应的调色板; ackk[]为Bmp图的内容; bmkk为根据上面的调色板,bmp内容建立uc-gui的函数可以调用的图片格式,在Fun…
挂在 iCore2 双核心板上的 VGA模块,跑 ucgui DEMO 演示.大家看看! ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:http://i-board.taobao.com 银杏科技 GINGKO TECH. 保留权利,转载请注明出处 ==============================…
基于box-shadow实现的打点效果 理论上,box-shadow可以实现任意的图形效果,自然我们可以利用box-shadow生成我们的点效果,然后通过animation控制不同时间点点的数目就可以实现点点点... loading效果了~ 1. 渐进兼容支持CSS3 animation动画的浏览器显示的就是打点动画效果:对于不支持的浏览器,IE7/IE8显示的是真实的字符..., IE9浏览器虽然也是CSS3生成,但是是静态的,没有动画效果:此乃渐进兼容. 2. 实现原理首先HTML非常简单,…
目前没有读过ucgui的源代码,通过应用代码测试出在FRAMEWIN的控件焦点顺序是样的: 按资源列表里创建的控件,默认将焦点落在第一个可接收焦点的控件,目前知道不可接收 焦点的控件有TEXT,在FRAMEWIN上安排有以下的控件:   static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {     { FRAMEWIN_CreateIndirect, NULL, 0, 0, 0, 128, 64, 0,0},     { TEXT_Cr…
emWin(ucGui) Edit控件数值模式出现负数值编辑时,如果键盘按键全可以设置独立的"-","+"键,这样可以正常编辑正数和负数,但是要没有设置这两个键,编辑Edit的数值会比较麻烦,可以使用"上"键和"下"键修改符号,但是光标无法移动到后面的数值位,必须借助"左"键和"右"键来移动光标,在嵌入式里的按键比较有限制,如果不单独设立"+","+&quo…
在enWin(ucGui)中EDIT控件在数值模式(十进制/十六进制/二进制/浮点数)下编辑是,无法使用BackSpace键进行退格,主要涉及到的函数有: EDIT_SetBinMode() EDIT_SetDecMode() EDIT_SetHexMode() EDIT_SetFloatMode()   将Edit控件一旦使用此类的模式是将无法BackSpace键进行退格删除,解决办法如下,响应Edit控件的按键消息,当收到BackSpace键时强制将光标退到上一个字符,那么就使用到接口函数即…
emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的标记.所以在你手速多快的情况下都会有一个 key,1和key,0两个操作.程序中没有对按键的状态做判定,所以在PC上不管是按下,还是按下后离开都会进行响应(两次响应).   假设有以下的应用场景,一级菜单->(ENTER键)->二级菜单>(ENTER键)->三级菜单,即,在一级菜单是可…
UCGUI(emWin) 2-D图形库--之基本板绘图,在ucgui的基本绘图功能上来看,功能还是比较全的,本例程主要使用基本的接口,两个主要的概念是绘制(draw)和填充(Fill),这两的区别是一个空心的,另一个是实心的,用时注意加于区分,另一个值得注意的是绘制模式,GUI_SetDrawMode(),目前emWin5.2有两模式,一个是正常的绘制,另一个是取反的方式绘制.   例程代码下载:3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图.zip   GUI_Get…
本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip   在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值.然而,有时候这会是件困难的事.通常,较为容易(也更为有效)的是调用一个例程显示所需结 构的数值. emWin 支持各种十进制.十六进制和二进制输出.本章将对这些例程进行逐一描述.所有函数不需要使用浮点库,并对速度和大小进行了优化.当然"Sprintf"可以用于任何系统.使 用本章介绍的例程,有时可以简化操作,节省 ROM…
ucGUI 几个重要例程Demo   按钮的定制 #include <stddef.h> #include <string.h> #include "WM.h" #include "FRAMEWIN.h" #include "BUTTON.h" #include "BUTTON_Private.h" #include "GUI_Protected.h" /**************…
一.相关结构体和变量 重要的uCGUI系统全局变量 NextDrawWin                      下一个需要重绘的窗口句柄 WM__NumWindows       系统当前的总共窗口总数 WM__NumInvalidWindows   系统当前无效的窗口总数,这些窗口都需要重绘的 WM__FirstWin                    系统第一个窗口的句柄,默认的就是桌面窗口,桌面窗口的句柄就是1.在创建桌面窗口的时候,会将桌面窗口的句柄,付给该全局变量,该动作发生…
动态内存的堆区 /* 堆区共用体定义 */ typedef union { /* 可以以4字节来访问堆区,也可以以1个字节来访问 */ ]; /* required for proper alignement */ U8 abHeap[GUI_ALLOC_SIZE]; } GUI_HEAP; /* 堆区的数据 */ GUI_MEM_ALLOC GUI_HEAP GUI_Heap GUI_ALLOC_LOCATION; 管理动态内存需要的管理信息节点结构体 /* 动态内存管理信息节点结构体 */…
一.相关结构体和变量 窗口管理结构体 /* 窗口管理结构体 共30个字节 */ struct WM_Obj { GUI_RECT Rect; //窗口尺寸(x0,y0,x1,y1) 8个字节 GUI_RECT InvalidRect; //无效区域(x0,y0,x1,y1) 8个字节 WM_CALLBACK* cb; //回调函数 4个字节 WM_HWIN hNextLin; //指向链表中的下一个窗口 2个字节 WM_HWIN hParent; //当前窗口的父窗口 2个字节 WM_HWIN…
uCGUI窗口操作要点 1. 创建一个窗口的时候,会给此窗口发送“创建(WM_CREATE)”消息,从而执行它的回调函数:如果创建窗口的标志带有“可视标志(WM_CF_SHOW)”,那么在后续执行GUI_Exec()函数时会对窗口进行重绘,也就是将这个窗口显示出来.如果创建窗口的标志带有“激活标志(WM_CF_ACTIVATE)”,那么这个窗口在创建的时候也会被激活,否则不激活. 2. WM_SendMessage()发送消息的函数,本身也是执行消息的函数(通过调用接收方的回调函数),所以调用发…
一.概述 µC/GUI的窗口重绘是学习者理解窗口工作原理和应用窗口操作的重点.µC/GUI的窗口重绘引入了回调机制,回调机制可以实现图形系统调用用户的代码,由于图形系统使用了剪切算法,使得屏幕重绘的效率和重绘的操作都大大提高.本文主要分析µC/GUI重绘窗口的过程,使学习者理解窗口的回调机制,为进一步的应用窗口操作打下一个好的基础. 回调机制后面的哲学 µC/GUI 为窗口和窗口对象(控件)提供的回调机制实质是一个事件驱动系统.正如在大多数视窗系统中一样,原则是控制流程不只是从用户程序到图形系统…
为什么要分析字符串的显示过程? 学习uCGUI主要是学习如何使用的,为何要深究到源码的层次呢? 就分析字符串显示过程的原因来说,是因为移植汉字字库的需要.uCGUI并么有合适的汉字字库,而且完整的汉字字库非常庞大,消耗单片机的Flash资源.如果想要移植一个合适的字库,分析字符串显示的过程以及uCGUI字库数据结构,还是很有必要的. GUI_DispString()函数源码                                           void GUI_DispString…
我做本实验的软件平台为MDK软件,选用STM32VET6,12864液晶屏5v供电采用并行接法.之前本来想网上找一个现成的程序实验一下,但都没找到合适的,于是就自己编写了一个,最终可在12864液晶屏上面任意位置显示任意内容.在此贴出整个工程文件,希望对大家有帮助! 本实验的整个工程文件可在此处下载:http://download.csdn.net/detail/u010173859/5908815 /***********************************************…
引脚部分查看中文的12864介绍,下面这些可以在ST7920的英文数据手册里查到. Function Description 部分介绍工作方式.存储器.操作方法.Instructions 部分介绍指令.按照并行或串行的 Timing Diagram 来操作,注意数据何时有效.查看初始化的流程图,按照Function set.Display ON.Display clear的顺序初始化,可以没有 Entry mode set 这一步. 注意 1.串行方式没有读取操作,并行读是要Dummy read…
淘宝的鱼相在 2012 年 8 月份发表了一篇文章,里面讲述了他们通过一个月的数据采集试验,得到的结果是:如果在浏览器的本页面刷新之前发送打点请求,各浏览器都有不同程度的点击丢失情况,具体点击丢失率统计大家请看下图(数据日期为 2012 年 7 月份): 从图中可以看出,chrome,safari 这类 webkit 内核的浏览器在本页刷新之前发送打点,导致的丢失最为严重,分别为 61%,76%,而 ie8 丢失的情况最少,为7%. (具体大家可以参看此文:http://ued.taobao.c…
          在国内做嵌入式系统的,开始入门OS的时候,大家应该都会选择uC/OS,为什么?因为代码开源且资料众多嘛.由于uC/OS的原因大家也一定接触了uC/GUI的嵌入式图形软件库.其实uC/Gui的核心代码并不是Micrium公司开发的,而是Segger公司为Micrium公司定制的图形软件库,当然也是基于Segger公司的emwin图形软件库开发的.所有说uC/GUI其实是emwin的一版精简版.         在以前较旧的版本程序中uC/Gui的源代码是开源的(可以在网上能够找…
非常久没有关注RTOS了,所以也一直没有更新.近期闲了,把GPIO I2C调通了.简单移植了Touch.在S5PV210上使用. 调试I2C时.废了非常多周折,最后借助示波器才发现一个小小的错误.折腾了非常久非常久. 简要说下步骤: 1.首先I2C驱动,使用GPIO I2C的方式 #include <stdio.h> #include <touch.h> #define DELAY 10 #define SDA 0 #define SCL 1 #define GPD1CON (*(…
/*以1302为例*/ void DS1302InputByte(unsigned char d)  //实时时钟写入一字节(内部函数) {     unsigned char i;     ACC = d;     for(i=8; i>0; i--)     {         DS1302_IO = ACC0;            //相当于汇编中的 RRC         DS1302_CLK = 1;   //先写底位         DS1302_CLK = 0;        …
uCGUI的数值显示非常的灵活方便,是制作LCD界面非常好的选择. 文字与数值显示的方法: 常用文本显示函数: void GUI_DispStringAt(const char GUI_FAR *s, int x, int y); 函数作用:在任意位置显示任意内容: 函数使用方法举例: /* 在第10列100行显示 HELLO WORLD */ GUI_DispStringAt(,); 常用十进制显示函数: void GUI_DispDecAt(I32 v, I16P x, I16P y, U8…