野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22394|回复: 2

关于LCD显示字符串函数的问题

[复制链接]
发表于 2014-3-31 20:00:59 | 显示全部楼层 |阅读模式
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)的数据强制类型转换成指针后,指针的值是什么?能否推荐几本讲解这方面(强制类型转换为指针)的书?非常感谢解答!!!
回复

使用道具 举报

发表于 2014-3-31 20:02:15 | 显示全部楼层
字符串的首地址。

"This is a lcd demo to display ascii" 是存储在flash里的静态常量
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-31 20:48:12 | 显示全部楼层
山外メ雲ジ 发表于 2014-3-31 20:02
字符串的首地址。

"This is a lcd demo to display ascii" 是存储在flash里的静态常量

谢谢解答!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-4 18:49 , Processed in 0.038847 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表