野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14835|回复: 2

《STM32库开发实战指南》22章,为什么要不停的开辟显示区域

[复制链接]
发表于 2015-3-27 09:52:16 | 显示全部楼层 |阅读模式
本帖最后由 地球依然在转 于 2015-3-27 22:28 编辑

程序如下(加蓝色部分):程序在一开头己经开辟了一个8*16的显示区域,为什么下面每一行还要开辟显示区域?
/******************************************************
* 函数名::LCD_Char_O
* 描述:在指定位置悬浮显示指定字符。
*输入  :            X
           Y
           acsii
           Color
  void LCD_Char_O(u16 x, u16 y, u8 acsii,u16 Color)
{      
#define MAX_CHAR_POSX (320-8)
#define MAX_CHAR_POSY (240-16)
    u8 temp, t, pos;     
    if(x > MAX_CHAR_POSX || y > MAX_CHAR_POSY)
        return;

    LCD_open_windows(x,y,8,16);

    for (pos=0;pos<16;pos++)
    {
        temp=ascii_8x16[((acsii-0x20)*16)+pos];

        for(t=0; t<8; t++)
        {

            if(temp & 0x80)
            {
                           if(t==0)                                                                           /*è&#231;1&#251;ê&#199;ò&#187;DD&#198;eμ&#227;--&#212;ò&#214;&#216;D&#194;&#191;a&#198;&#244;ò&#187;&#184;&#246;&#190;&#216;D&#206;*/
                                {
                                        LCD_open_windows(x,y+pos,8,16-pos);
                                        LCD_WR_Data(Color);
                                }
                                else
                                {
                                        LCD_WR_Data(Color);        
                                }
            }
                        else         
            {
                                if(t==7)                                                                        
                                {
                                                LCD_open_windows(x,y+pos+1,8,16-pos-1);                 
                                }
                                else
                                {
                                                LCD_open_windows(x+t+1,y+pos,8-t,1);

            }

            temp <<= 1;        

        }        
    }
#undef MAX_CHAR_POSX
#undef MAX_CHAR_POSY   
}




回复

使用道具 举报

 楼主| 发表于 2015-3-27 22:30:28 | 显示全部楼层
求救火哥,程序在一开头己经开辟了一个8*16的显示区域,为什么下面每一行还要开辟显示区域?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-30 11:33:02 | 显示全部楼层
我的贴子不能沉下去呀?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-12-30 03:16 , Processed in 0.034726 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表