打印

求助:C51 二维数组的调用

[复制链接]
3564|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
石头记|  楼主 | 2014-6-2 22:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 石头记 于 2014-6-2 22:53 编辑

主要功能:有一个显示屏要显示N个图片(N>10,每个图片64字节),显示哪个图片由变量选择。
char code pic_data[N][64]={
   {图片数据0},
   {图片数据1},
   {图片数据2},
    {图片数据N}};

如果这样调用:

      for (i=0;i++;i<10)
     {
      LCD_display(pic_data);
     delay1ms(1000);
     }

则编译器不报错,但运行后啥子都是不显示,连 delay1ms(1000)都被跳过了。
如果这样测试是可以正常显示的。

      LCD_display(pic_data[0]);
     delay1ms(1000);
      LCD_display(pic_data[1]);
     delay1ms(1000);
      LCD_display(pic_data[2]);
     delay1ms(1000);
为什么会这样?该如何调用二维数组?
以前没玩过C51,现在想练练,却发现杯具了。





相关帖子

沙发
石头记|  楼主 | 2014-6-2 22:53 | 只看该作者
主要功能:有一个显示屏要显示N个图片(N>10,每个图片64字节),显示哪个图片由变量选择。
char code pic_data[N][64]={
   {图片数据0},
   {图片数据1},
   {图片数据2},
    {图片数据N}};

如果这样调用:

      for (i=0;i++;i<10)
     {
      LCD_display(pic_data[i]);
     delay1ms(1000);
     }

则编译器不报错,但运行后啥子都是不显示,连 delay1ms(1000)都被跳过了。
如果这样测试是可以正常显示的。

      LCD_display(pic_data[0]);
     delay1ms(1000);
      LCD_display(pic_data[1]);
     delay1ms(1000);
      LCD_display(pic_data[2]);
     delay1ms(1000);
为什么会这样?该如何调用二维数组?
以前没玩过C51,现在想练练,却发现杯具了。

使用特权

评论回复
板凳
原野之狼| | 2014-6-3 00:07 | 只看该作者
LCD_display(pic_data[i]);

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
石头记 + 1 谢谢参与
地板
石头记|  楼主 | 2014-6-3 00:52 | 只看该作者
原野之狼 发表于 2014-6-3 00:07
LCD_display(pic_data);

是的,我发贴时不知为什么【i】贴不上来,2楼已更改过来了。
还有就是char code pic_data[N][64]中,实际上是char code pic_data[12][64]

使用特权

评论回复
5
luofeng2g| | 2014-6-3 08:20 | 只看该作者
你的for循环,写反了,for(i=0;i<10;i++)

使用特权

评论回复
评分
参与人数 2威望 +5 收起 理由
石头记 + 3 很给力!
原野之狼 + 2 赞一个!
6
ningling_21| | 2014-6-3 12:33 | 只看该作者
for(i=0;i<N;i++)
{
   for(j=0;j<64j++)
   {
      LCD_display(pic_data[i][j]);
}
}

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
石头记 + 1 谢谢参与
7
石头记|  楼主 | 2014-6-3 18:40 | 只看该作者
luofeng2g 发表于 2014-6-3 08:20
你的for循环,写反了,for(i=0;i

还真是的,一个低级的不能再低级的错误!
没读书就是没用。。。

使用特权

评论回复
8
小牧费| | 2014-6-3 19:46 | 只看该作者
我也纠结这个问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

85

帖子

0

粉丝