好文档 - 专业文书写作范文服务资料分享网站

基于STM32的温湿度远程监控系统凯 - 图文 

天下 分享 时间: 加入收藏 我要投稿 点赞

1)&0XFF); } }

void LCD_Display_Dir(u8 dir) {

if(dir==0) {

//竖屏

lcddev.dir=0; //竖屏 lcddev.width=240; lcddev.height=320;

if(lcddev.id==0X9341||lcddev.id==0X6804) {

lcddev.wramcmd=0X2C; lcddev.setxcmd=0X2A; lcddev.setycmd=0X2B; if(lcddev.id==0X6804) { }

lcddev.width=320; lcddev.height=480;

} }

else {

//横屏

lcddev.dir=1; //横屏 lcddev.width=320; lcddev.height=240;

44

}

if(lcddev.id==0X9341) {

lcddev.wramcmd=0X2C; lcddev.setxcmd=0X2A; lcddev.setycmd=0X2B;

} }

LCD_Scan_Dir(DFT_SCAN_DIR); //默认扫描方向

void LCD_DrawPoint(u16 x,u16 y,u16 c) { }

u16 LCD_ReadPoint(u16 x,u16 y) {

u16 r=0,g=0,b=0;

if(x>=lcddev.width||y>=lcddev.height)return 0; //超过了范围,直接返回

LCD_SetCursor(x,y);

//设置光标位置

LCD_WriteRAM_Prepare(); //开始写入GRAM LCD->LCD_RAM=c;

LCD_SetCursor(x,y);

if(lcddev.id==0X9341)LCD_WR_REG(0X2E);//9341/6804/3510 发送读GRAM指令

//dummy Read

if(LCD->LCD_RAM)r=0; Delay(2);

r=LCD->LCD_RAM; //实际坐标颜色

45

if(lcddev.id==0X9341) { }

}

b=b;//防止编译器报警 return g; Delay(2); b=LCD->LCD_RAM; g=r&0XFF; g<<=8;

//9341/NT35310/NT35510要分2次读出

//对于9341,第一次读取的是RG的值,R在前,G在后,各占8位

void LCD_DisplayOn(void)//开显示 { }

void LCD_DisplayOff(void)//关显示 { }

void LCD_Clear(u16 color) {

/* 开背光 */

GPIO_SetBits(GPIOB, GPIO_Pin_0);

/*关背光 */

GPIO_ResetBits(GPIOB, GPIO_Pin_0);

u32 index=0;

u32 totalpoint=lcddev.width; totalpoint*=lcddev.height;

//得到总点数

LCD_SetCursor(0x00,0x0000); //设置光标位置 LCD_WriteRAM_Prepare();

//开始写入GRAM

46

}

for(index=0;index

LCD->LCD_RAM=color;

void LCD_DrawxXx(u32 x ,u32 y,u16 backColor,u16 color,const u8 *ch ,u16

size_bits,u16 size_line) {

int x0,y0; u32 dat; int i;

for(y0=0;y0

{ //0x10,0x02 0x1000 | 0x02 = 0x1002 节

{

dat = *ch++;

for(x0=0;x0<8;x0++) //换列 {

//画点

if(dat&0x80) //从最高开描点,只须判断一位

LCD_DrawPoint(x+(x0+i*8),y+y0,color); //描字符颜色

//汉字宽度为16,由两个字节组成一个16位数据

for(i=0;i

else { }

LCD_DrawPoint(x+(x0+i*8),y+y0,backColor); //描背景颜色

47

}

}

}

}

dat<<=1; //将次高位,提升为最高位

void Draw_Text_8_16_Str(u32 x,u32 y,u16 backColor,u16 color,const unsigned

char *chs) {

}

} chs+=2;

if ((*chs == hz_index[i*2]) && (*(chs+1) == hz_index[i*2+1])) { }

LCD_DrawxXx(x,y,backColor,color,&hz[32*(i)],16,16); x +=16; break;

u32 i=0;

while (*chs != '\\0') {

if (*chs > 0xa0) {

for (i=0 ;i < GB16_NUM();i++) {

if(x>235){x=0;y=y+16;}

//汉字内码都是大于0xa0

48

基于STM32的温湿度远程监控系统凯 - 图文 

1)&0XFF);}}voidLCD_Display_Dir(u8dir){if(dir==0){//竖屏lcddev.dir=0;//竖屏lcddev.width=240;lcddev.height=320;<
推荐度:
点击下载文档文档为doc格式
02ysf6zpty7dd7d92wae4uc568cqcf01a3z
领取福利

微信扫码领取福利

微信扫码分享