前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的chGUI (3)

我的chGUI (3)

作者头像
py3study
发布2020-01-03 15:54:03
4550
发布2020-01-03 15:54:03
举报
文章被收录于专栏:python3python3

    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返回坐标

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档