LCD显示字符串的函数如下:
void LCD_DispStr(uint16_t x, uint16_t y, uint8_t *pstr, uint16_t color)
{
while( *pstr != '\0' )
{
if( x > (COLUMN-STR_WIDTH) )
{
x = 0;
y += STR_HEIGHT;
}
if( y > (PAGE-STR_HEIGHT) )
{
x = 0;
y = 0;
}
LCD_DispChar(x, y, *pstr, color);
x += STR_WIDTH;
pstr++;
}
}
在main函数中,调用如下:
LCD_DispStr(10, 10, (uint8_t *)"This is a lcd demo to display ascii", RED);
我的问题是:字符串"This is a lcd demo to display ascii"被强制类型转换为uint8_t型指针,那么这个指针的值是什么?是字符串的首地址吗?其他类型(比如int)的数据强制类型转换成指针后,指针的值是什么?能否推荐几本讲解这方面(强制类型转换为指针)的书?非常感谢解答!!! |