lcdlibrary.c

来自「很不错的基于UCOS2的GUI源码」· C语言 代码 · 共 99 行

C
99
字号
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "2440addr.h"
#include "option.h"
#include "def.h"
#include "lcdlib.h"

#include "LCDLibrary.h"



void _PutTft24Bit_640480(U32 x,U32 y,U32 c)
{   
    /*unsigned char R,G,B;
    R = c;
    G = (c>>8);
    B = (c>>16);
    c = R;
    c = c<< 8;
    c = c | G;
    c = c<< 8;
    c = c | B;*/
     
    c = (c << 8 ) & 0xffffff00;
    
    if(x<SCR_XSIZE_TFT_640480 && y<SCR_YSIZE_TFT_640480)
        frameBuffer24BitTft640480[(y)][(x)]=( frameBuffer24BitTft640480[(y)][(x)]
        & (0x0) | ( c&0xffffff00)); // | ( c&0x00ffffff)); LSB 
}

void Glib_Init(int type)
{
    switch(type)
    {
    
    case MODE_TFT_24BIT_640480:
    	//_PutTft24Bit_640480=_PutTft24Bit_640480;
    	break;   

    default: 
    	break;
    }
}


/*
void SetBackground (U32 color, WORD PageNo)
{	
    short i,j;
  
	for(j=0;j<480;j++)
	
    for(i=0;i<640;i++)
    
    _PutTft24Bit_640480(i,j,color);
   
}
*/

void LCD2440_SetPixel(U32 x,U32 y,U32 c)
{   /*
    unsigned char R,G,B;
    R = c;
    G = (c>>8);
    B = (c>>16);
    c = R;
    c = c<< 8;
    c = c | G;
    c = c<< 8;
    c = c | B;*/
     
    c = (c << 8 ) & 0xffffff00;
    
    if(x<SCR_XSIZE_TFT_640480 && y<SCR_YSIZE_TFT_640480)
        frameBuffer24BitTft640480[(y)][(x)]=( frameBuffer24BitTft640480[(y)][(x)]
        & (0x0) | ( c&0xffffff00)); // | ( c&0x00ffffff)); LSB 
}


int LCD2440_GetPixel(U32 x,U32 y)
{
return(frameBuffer24BitTft640480[(y)][(x)]);
}

int LcdInit(void)
{

Lcd_Init(MODE_TFT_24BIT_640480);                   //LCD初始化
Glib_Init(MODE_TFT_24BIT_640480);
Lcd_PowerEnable(0, 1);                             //上电
Lcd_EnvidOnOff(1);
SetBackground(0x00,0x00);
return(1);
}



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?