高中生
最后登录1970-1-1
在线时间 小时
注册时间2016-11-28
|
【code】
uint8_t *ptr;
ptr = " speed: ";
LCD_DisplayStringLine(Line0,ptr,Green,Blue2);//行数 数据 字体颜色 背景色
/****************************************************************************
* 名 称:ili9320_DisplayStringLine
* 功 能:显示最多40个字符一行在LCD上
* 入口参数:Line 行数 *ptr指向字符串的指针 charColor字符颜色 bkColor背景颜色
* 出口参数:无
* 说 明:
* 调用方法:ili9320_DisplayStringLine(Line0,"I Love you...",White,Blue);
****************************************************************************/
void LCD_DisplayStringLine(u8 Line, u8 *ptr, u16 charColor, u16 bkColor)
{
u32 i = 0;
u16 refcolumn = 0;
/* Send the string character by character on lCD */
while ((*ptr != 0) & (i < 40))
{
/* Display one character on LCD */
// LCD_PutChar(refcolumn, Line, *ptr, charColor, bkColor); //竖着
//LCD_PutChar(Line,refcolumn, *ptr, charColor, bkColor); //横着
LCD_PutChar(Line,refcolumn, *ptr, charColor, bkColor);
/* Decrement the column position by 16 */
refcolumn += 16;
/* Point on the next character */
ptr++;
/* Increment the character counter */
i++;
}
}
/****************************************************************************
* 名 称:void ili9320_PutChar(u16 x,u16 y,u8 c,u16 charColor,u16 bkColor)
* 功 能:在指定座标显示一个16x24点阵的ascii字符
* 入口参数:x 列座标
* y 行座标
* charColor 字符的颜色
* bkColor 字符背景颜色
* 出口参数:无
* 说 明:显示范围限定为可显示的ascii码
* 调用方法:ili9320_PutChar(10,10,'a',0x0000,0xffff);
****************************************************************************/
void LCD_PutChar(u16 x,u16 y,u8 c,u16 charColor,u16 bkColor)
{
u16 i=0;
u16 j=0;
u16 tmp_char=0;
for (i=0;i<24;i++)
{
tmp_char=ASCII_Table[((c-0x20)*24)+i]; //减去32的偏移,是因为字符表从空格开始的,参考字符表那的注释
for (j=0;j<16;j++)
{
// if ( (tmp_char >> 15-j) & 0x01 == 0x01) 按照上面的显示,字符是倒过来的,到这里改过来就行了
if ( (tmp_char >> j) & 0x01 == 0x01)
{
LCD_SetPoint(x+i,y+j,charColor); // 字符颜色
}
else
{
LCD_SetPoint(x+i,y+j,bkColor); // 背景颜色
}
}
}
}
【/code】
|
|