初级会员
- 积分
- 183
- 金钱
- 183
- 注册时间
- 2017-12-3
- 在线时间
- 32 小时
|
10金钱
1、左上边一直有黑色的鼠标,初始化不是白色的鼠标么?
2、读点函数已经附上、
/********************************************
函数:LCD_read_dian
功能:读出屏幕上的一个点
形参:
笔记:
*********************************************/
u16 LCD_read_dian(u16 x, u16 y)
{
u16 r = 0, g = 0, b = 0;
if(x >= lcddev.width || y >= lcddev.height)return 0; //超过了范围,直接返回
LCD_send_cmd(0x2a);
LCD_send_byte(x >> 8); //起始列号高位
LCD_send_byte(x); //起始列号低位
LCD_send_byte(x >> 8); //结束列号高位
LCD_send_byte(x); //结束列号低位
LCD_send_cmd(0x2b);
LCD_send_byte(y >> 8); //起始列号高位
LCD_send_byte(y); //起始列号低位
LCD_send_byte(y >> 8); //结束列号高位
LCD_send_byte(y); //结束列号低位
LCD_send_cmd(0x2e); //读点命令
g=LCD_read_byte(); //空读一次
// delay_us(2);
r = LCD_read_byte(); //得到RG的值,R在前,G在后,各占8位
r = LCD_read_byte(); //得到RG的值,R在前,G在后,各占8位
// delay_us(2);
b = LCD_read_byte(); //得到RG的值,R在前,G在后,各占8位
//printf("%x\n",b);
g = (r & 0XFF) << 8; //对于9341/9486/5510,第一次读取的是RG的值,R在前,G在后,各占8位
return (((r >> 11) << 11) | ((g >> 10) << 5) | (b >> 11));
}
//设置光标位置
//Xpos:横坐标
//Ypos:纵坐标
void LCD_SetCursor(u16 Xpos, u16 Ypos)
{
LCD_send_cmd(0x2a);
LCD_send_byte(Xpos >> 8);
LCD_send_byte(Xpos & 0XFF);
LCD_send_cmd(0x2b);
LCD_send_byte(Ypos >> 8);
LCD_send_byte(Ypos & 0XFF);
}
|
最佳答案
查看完整内容[请看2#楼]
好像是,读点问题,你需要一个读点函数
/********************************
函数:LCD_read_byte
功能:从LCD读取字节
*********************************/
u16 LCD_read_byte(void)
{
//*(vu16 *)0x6C000080=data;
delay(2);
return TFTLCD->RES;
}
/******************
函数名:LCD_show_dian 【GUI引用】
功能:液晶屏 画笔功能
*******************/
void LCD_show_dian(u16 x, u16 y, ...
|