OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3267|回复: 5

数组定义成const类型报错

[复制链接]

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
976
金钱
976
注册时间
2014-7-4
在线时间
237 小时
发表于 2016-8-12 06:28:44 | 显示全部楼层 |阅读模式
10金钱
stm32驱动LCD显示图片,因为是只读的 所以定义成const, 但编译老报错  提示数据类型不一样[mw_shl_code=c,true]const u8 cheng1[]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,
0xFC,0xFC,0x88,0x00,0x00,0x1C,0x78,0xF0,0xE0,0x00,0x80,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0x83,0xC3,0xC3,0x03,0x1F,
0xFF,0xFF,0x83,0x03,0x03,0x03,0xC3,0xF3,0xF3,0x63,0x03,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0xFC,0xFF,0x3F,0x00,0x80,0x00,0x00,0x80,0xFF,0xFF,0x03,0x00,0x00,0x03,
0x9F,0xFF,0xF8,0xF8,0xBE,0x1F,0x07,0x01,0x00,0x00,0xE0,0x20,0x00,0x00,0x20,0x38,
0x1F,0x07,0x01,0x00,0x00,0x01,0x01,0x07,0x07,0x23,0x31,0x18,0x0C,0x0E,0x07,0x03,
0x01,0x01,0x01,0x03,0x07,0x0F,0x0E,0x1C,0x1F,0x3F,0x30,0x00,0x00,0x00,0x00,0x00};[/mw_shl_code][mw_shl_code=c,true]void JLX19264_display_192x64(u8 *dp)
{
        u8 i,j;
        for(i=0;i<8;i++)
        {
                JLX19264_display_address(i+1,1);
                for(j=0;j<192;j++)
                {
                        JLX19264_send_data(*dp);
                        dp++;
                }
        }
}        [/mw_shl_code]



main.c(210): error:  #167: argument of type "const u8 *" is incompatible with parameter of type "u8 *"

最佳答案

查看完整内容[请看2#楼]

void JLX19264_display_192x64(const u8 *dp) 静态变量只能用静态变量指针 因为静态变量是不能改变的 ,所以指针指向的数据是不能改变的,u8 * 指向的数据可以改变,所以报错
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-8-12 06:28:45 | 显示全部楼层
void JLX19264_display_192x64(const u8 *dp)

静态变量只能用静态变量指针

因为静态变量是不能改变的  ,所以指针指向的数据是不能改变的,u8 * 指向的数据可以改变,所以报错
回复

使用道具 举报

19

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1341
金钱
1341
注册时间
2016-4-22
在线时间
187 小时
发表于 2016-8-12 08:18:41 | 显示全部楼层
1L正解。非const可以传递给const,反过来不行
伤情最是晚凉天,憔悴斯人不堪怜。
邀酒摧肠三杯醉,寻香惊梦五更寒。
钗头凤斜卿有泪,荼蘼花了我无缘。
小楼寂寞新雨月,也难如钩也难圆。
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2016-9-4
在线时间
6 小时
发表于 2016-9-26 19:24:42 | 显示全部楼层
止天 发表于 2016-8-12 06:28
void JLX19264_display_192x64(const u8 *dp)

静态变量只能用静态变量指针

为什么原子的lcd显示图片的程序不报错呢,郁闷
回复

使用道具 举报

9

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2016-11-4
在线时间
47 小时
发表于 2016-12-29 17:21:00 | 显示全部楼层
顶一个  确实  我也遇到 我const u8强制转换成u8
回复

使用道具 举报

23

主题

323

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-11-8
在线时间
233 小时
发表于 2016-12-29 17:26:05 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-28 06:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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