打印
[Cortex-M0技术交流]

12864任意点显示任意大小图形文字-希望能弄的完完美点

[复制链接]
1997|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kyzb001|  楼主 | 2011-10-27 09:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ge, ui, CD, LCD, ov
直接贴上处理部分代码。
12864 思路。  建立缓存, 每次显示整屏刷写, 操作缓存。
代码如下
#define array(array_name,x,y) array_name[x][y]
uint8_t CogLCDBuf[CogLCDMAXPAGE][CogLCDMAXCOLUMN];//缓存
void DisPlay_Picture(uint8_t str,uint8_t x,uint8_t y,uint8_t wight,uint8_t high)
{
uint8_t Cache,HighByte;
uint8_t Page,OverLong;
uint8_t PageNum,CountPage,CountXcolumn;

Page=y/8;  //star in ?  page
OverLong=y%8;// over data size

PageNum=high/8;    //字模站几页
if(high%8)
PageNum++;

#define array_name LCD_48X48_4CODE  //定义缓存的字模
for(CountPage=0;CountPage<PageNum;CountPage++)
{
for(CountXcolumn=0;CountXcolumn<wight;CountXcolumn++)
{
Cache=CogLCDBuf[Page][x+CountXcolumn];
HighByte=array(array_name,CountPage,CountXcolumn)<<OverLong;//LCD_48X48_CODE[CountPage][CountXcolumn]<<OverLong;
CogLCDBuf[Page][x+CountXcolumn]=Cache|HighByte;
}

Page++;
for(CountXcolumn=0;CountXcolumn<wight;CountXcolumn++)
{
Cache=CogLCDBuf[Page][x+CountXcolumn];
HighByte=array(array_name,CountPage,CountXcolumn)>>(8-OverLong);
CogLCDBuf[Page][x+CountXcolumn]=Cache|HighByte;
}
}

CogLCDRedraw(); //刷屏

}


实现任意坐标显示任意大小的图标文字。 这是现实一个,多个大家都会,就不发了。

想弄的完善点, 所以发上来,希望大家多多指教!

目前无任何bug

相关帖子

沙发
kyzb001|  楼主 | 2011-10-27 09:16 | 只看该作者
遇到二个问题,想请教大家

1: 函数传参怎么传递二维数组。
2:怎么通过不同的选择来修改宏定义
假设有个 x
当x=1的时候我宏
#define a 1
当x=2的时候我宏
#defube a  2

使用特权

评论回复
板凳
kyzb001|  楼主 | 2011-10-27 10:29 | 只看该作者
在发一个画点的函数,
void DisPlay_Piont(uint8_t x,uint8_t y)
{
        uint8_t  Page,OverLong;

        Page=y/8;
        OverLong=y%8;

        CogLCDBuf[Page][x]|=(0x01<<OverLong);                                                                       
                                                                                               
        CogLCDRedraw();                                                                                                                                                                                               
}

使用特权

评论回复
地板
weshiluwei6| | 2011-10-27 11:26 | 只看该作者
看不懂

使用特权

评论回复
5
kyzb001|  楼主 | 2011-10-28 08:47 | 只看该作者
看不懂
weshiluwei6 发表于 2011-10-27 11:26
忘记写注释了。  - -!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Is this my life

15

主题

623

帖子

1

粉丝