我的编程空间,编程开发者的网络收藏夹
学习永远不晚

我的chGUI (3)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

我的chGUI (3)

    LCD模拟器.

上编介绍了, 我使用的经改写ucGUI的模拟器, 但此摸拟器和ucGUI的连系太紧密了, 花了大半天的时间, 才将其分离出来,  别分离得不是很好, 但至少可以用了. 现说明如下:

一.LCD模拟器的配置.

#define LCD_XSIZE      (640)   LCD的宽
#define LCD_YSIZE      (480)   LCD的高

#define LCD_BITSPERPIXEL (8)  LCD单个像素占的位数, 即颜色的位数

#define LCD_FIXEDPALETTE 332  像素的颜色模式, 即RGB占的位数 
#define LCD_SWAP_RB 1              Red Blue的位置是否交换

以上这些配置,和ucGUI是一致的, 具体内容可参考ucGUI的资料(网上很多哟)

 

二.LCD模拟器的对外函数接口

          只对外公布二个函数. 即void  LCDSIM_SetPixelIndex(int x, int y, int Index)和int  LCDSIM_GetPixelIndex(int x, int y)

   1. void  LCDSIM_SetPixelIndex(int x, int y, int Index)

在LCD上画一个像素点, 坐标是x, y,  颜色为index.

这里的Index不是真正的完整的RGB值, 而是根据上面颜色模式的配置, 对应的值. 也可以理解为我们要写入真实的LCD中的值.

在LCD模拟器中, 它的颜色是使用24位真彩色,即R8G8B8, 而我们模拟的LCD可以没有这么多位, 所以就将LCD仿真的颜色称为index,

它将在内部转化为24位的RGB.

 

   2.int  LCDSIM_GetPixelIndex(int x, int y)

取得LCD上,坐标为x,y处的颜色值index, index的意义于上相同.

 

三. chGUI工程项目的组成.

      此项目由三部分组成, 一是LCD模拟器,  不需修改, 只要配置.  二是chGUI部分, 将要开发的主要部分, 三是Applicatio, 以后应用程序的部分, 现在将测试程序放在这里.

      GUI部分有一个名为convcolor的目录, 这是从ucGUI借用过来的,  为LCD模拟器所有,  也可以放入GUI中,  目前我的构想是在chGUI中尽量不用这个.

      LCD模拟器中,有一个"myType.h", 定义有一些常用的类型, 在chGUI中将使用,

 

四. LCD模拟器的输入接口

      1.   int CXM_GetKey(void)

         读取一个按键, 为0是没有键被按下.

      2. int CXM_TOUCH_GetState(GUI_PID_STATE *pState)

         读取触摸屏的状态, 返回为0没有触摸, 非0为有触摸, pState返回坐标

 

    此部分是没有队列缓冲区的,  即可能会丢失输入数据, 不过对我们的应用而已, 够用了.

 

 

写字真是比较难啊! 自已心的明白的事,用文字表达出来,总是不够好, 有时会词不达意.  想想那些技术作家, 真是不容易啊!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

我的chGUI (3)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

我的chGUI (3)

LCD模拟器. 上编介绍了, 我使用的经改写ucGUI的模拟器, 但此摸拟器和ucGUI的连系太紧密了, 花了大半天的时间, 才将其分离出来,  别分离得不是很好, 但至少可以用了. 现说明如下: 一.LCD模拟器的配置. #define
2023-01-31

我的笔记(3)

23.OSPF中汇总的方法:外部路由汇只可以在ASBR上进行的,内部路由汇只能在ABR上进行的。 24:OSPF中的LSA的公共头部   附:路由器的Router LSA中有一个1字节VBE字段,他定
2023-01-31

我的家装日记(3)

星期六、日,忙了二天,现在装修进入完工阶段了,忙的没有上网,让大家久等了。非常感谢大家的热情(上篇文章还被推荐了),今天特意推出家装之选材篇(很关键哦)。 我和lp一起装修过二套房子,也算是老江湖了。这次装修,感觉就比较的得心应手。先和大家
2023-01-31

秋--秋天与我(3)

秋天与我 "当落叶的离去, 是风的追求,还是树的不换留"     秋天给人印象就是落叶,还有深×××,感觉象黄昏一样,×××变成了主打色调,每当走进秋天的景色里,我便由然升起几分熟悉,似曾相识的情感,在金色阳光下,那铺满金×××落叶的小路,
2023-01-31

跟我学管理(3)

“硕士满街走,学士不如狗”,就是劣币驱逐良币。末尾淘汰法,每年一个企业总是从末尾淘汰一批员工,有新人进来,才会给企业带新的生机,没有人才流动的企业是必然死亡的。因此说,机会的公平是应该的,理论是可以做到的,但实际中是非常难做到的。多人分配一
2023-01-31

我的网聊语音3小时

昨天我和同事的网友居然聊了3个小时,说来也怪原本很怕陌生人的我既然可以和我一点都不了解的陌生人聊上了那么久。     开始是从我对她的网名的兴趣开始的,倩儿对于男性的理解,首先浮现在我脑海里的就是一个很文静的女孩。她开始很小心拒绝了我的视频
2023-01-31

我是一个*** 演习 [3]

演习 [3]   时间在沉默中不断的流逝,我们小组的工作也在一步一步的向前发展。老张利用linux 2.4内核的一个溢出漏洞,已经能够让对方停止服务。他试图进一步利用这个漏洞,试图让对方执行自己的代码,但是这个工作是非常艰苦的。从老张黑着的
2023-01-31

我的Python分析成长之路3

一 集合                                                                                                                    
2023-01-30

运维的我要学开发--Python(3)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示。#-*- coding: utf-8 -*-'''
2023-01-31

让我们挖吧——Logminer(3)Lo

终于到了真正的操作篇,不过Logminer的操作真的是很简单,关键还是当中的一些原理和如何合理应用Logminer。再回顾一下之前的准备工作:ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;附加日志功能开启
2023-01-31

亮剑:PHP,我的未来不是梦(3)

特别声明:这部分内容主要针对的对象是所有的初学者和那些不知道怎么样学习的人,不代表来这里的所有的人。这点特别重要。 问题1:这个职业赚钱吗?能赚多少钱换句话,潜意识里面的意思是,IT(挨踢)这个行业赚钱吗?能赚多少钱?不知是从什么年×××始
2023-01-31

前端数组去重面试我会问这3个小问题

数组去重在我们的前端的面试过程中经过会遇到,有一些人可能会想到一两种,但是数据去重的算法真的太多了,下面这篇文章主要给大家介绍了关于前端数组去重面试3个小问题的相关资料,需要的朋友可以参考下
2023-01-15

我的系统用户账户出现红叉(中毒或者中木马)的3种解决方法

系统用户账户出现红叉问题非常少见,大部分出现的原因是中毒或者中木马,然后注php册表被破坏了,或者有的时候你在删除东西的时候,不小心把注册表改了。正常情况这个问题对你使用电脑没什么影响了,除了无法删除用户等跟用户相关的功能基本上都没办法使用
2023-05-30

我的电脑和我的文档打不开了如何解决

如果您的电脑和文档无法打开,可以尝试以下解决方法:1. 重新启动电脑:有时候只需要重新启动电脑,就可以解决打不开的问题。2. 检查文件路径:确保您正在尝试打开正确的文件路径。有时候文件可能被移动或删除,导致无法打开。3. 使用其他程序打开:
2023-09-05

为什么我在从只有 3 个实体的地图创建的数组中得到 6 个条目?

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《为什么我在从只有 3 个实体的地图创建的数组中得到 6 个条目?》,就带大家
为什么我在从只有 3 个实体的地图创建的数组中得到 6 个条目?
2024-04-05

3年3个月的第13天

3年零3个月的第13天,我离开这个公司——红旗软件3年来看着别人的离职和再见的信一路过来,现在自己离职了真的不知道从何说起……最后一天,真……回想原来的点点滴滴~~今天一大早发出邮件意外的收到那么多的感动“昨天,你带着纯真的笑脸来到这里,轻
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录