6171|11

58

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

关于实参太多的问题 [复制链接]

以下是我的程序代码以及编译器的编译结果:

编译器提示实参太多,确实是实参太多还是其他原因,求解,谢谢了!

void lcd_mesg(uchar code *p,uchar a,uint b,uchar x,uchar y)    //a:写入字节数   b:写入的内容在数组的位置
{
uchar i;
set_pox(x,y);
delay(5);
for(i=0;i    {
     TransferData(*(p+b),1);
     p++;
   }
}

void i2c_process()
{
switch (INTre[3])
{
  case 0x01:
   lcd_mesg(doormesg,8,100,1,2);                        //通讯成功
    break;
    case 0x02:
   switch(INTre[4])
   {
    case 0x00:
         lcd_mesg(doormesg,10,160,1,1);              //存,请输入
         delay(50);
       lcd_mesg(doormesg,9,228,2,2);                //密码(6位)
         break;
    case 0x01:
        lcd_mesg(doormesg,12,24,2,1);                 //存,请刷卡
       break;
    case 0x02:
       lcd_mesg(doormesg,12,170,2,1);                //存,请按手指
        break;
    case 0x03:
        lcd_mesg(doormesg,12,182,2,1);                //请再按手指
         break;
   }
   break;
  case 0x03:
    switch(INTre[4])
   {
    case 0x00:
     lcd_mesg(doormesg,12,194,2,1);                  //取,请输入
      delay(50);
      lcd_mesg(doormesg,9,228,2,2);                   //密码(6位)
     break;
    case 0x01:
     lcd_mesg(doormesg,10,36,2,1);                   //取,请刷卡
     break;
    case 0x02:
     lcd_mesg(doormesg,12,204,2,1);                  //取,请按手指           
     break;
   }
   break;
case 0x04:
   openstate();
   lcd_mesg(doormesg,12,0,1,4);

   break;
  case 0x05:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x06:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x07:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x08:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x09:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x0A:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x0B:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x0C:
   lcd_mesg(doormesg,8,63,1,4);
   break;
  case 0x0D:
   switch(INTre[4])
   {
    case 0x00:
     break;
    case 0x01:
     break;
    case 0x02:
     break;
   }
   break;
   
}
}

void openstate()
{
uchar a,b;
a=INTre[4];
b=(a/16)*16+a%16;
opennum[0]=secondpage[4(b-1)];
opennum[1]=secondpage[1+4(b-1)];
secondpage[2+4(b-1)]=0x02;
}


1.png (39.82 KB, 下载次数: 0)

1.png
此帖出自编程基础论坛

最新回复

初级错误啊。。。。楼主。。。。。。。。  详情 回复 发表于 2015-10-19 18:17
点赞 关注
 

回复
举报

165

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
4是函数
b-1是参数?
反正写成4*(b-1)就应该对了。
此帖出自编程基础论坛

点评

说得对~  详情 回复 发表于 2015-10-19 18:02
对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要更改里面的一些数据,所以不能存到rom里面去。不存在rom里面会提示lcd.c(329): error C249: 'DATA': SEGMENT T  详情 回复 发表于 2015-10-19 17:01
正解,4(b-1)这样表达不合适。  详情 回复 发表于 2015-10-19 16:36
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

板凳
 
EETUX 发表于 2015-10-19 16:26
4是函数
b-1是参数?
反正写成4*(b-1)就应该对了。

正解,4(b-1)这样表达不合适。
此帖出自编程基础论坛

点评

对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要更改里面的一些数据,所以不能存到rom里面去。不存在rom里面会提示lcd.c(329): error C249: 'DATA': SEGMENT T  详情 回复 发表于 2015-10-19 17:01
 
 
 

回复

2165

帖子

8

TA的资源

五彩晶圆(初级)

4
 
326-328行都少了个*,手写可以省略,程序里面不行。
此帖出自编程基础论坛

点评

对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要更改里面的一些数据,所以不能存到rom里面去。不存在rom里面会提示lcd.c(329): error C249: 'DATA': SEGMENT T  详情 回复 发表于 2015-10-19 17:01
 
个人签名坐而言不如起而行
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

5
 
EETUX 发表于 2015-10-19 16:26
4是函数
b-1是参数?
反正写成4*(b-1)就应该对了。

对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要更改里面的一些数据,所以不能存到rom里面去。不存在rom里面会提示lcd.c(329): error C249: 'DATA': SEGMENT TOO LARGE。这应该是超出了存储空间。请问还能存到其他地方吗?
此帖出自编程基础论坛

点评

我用的单片机是STC90C54RD+,SRAM 1024,FLASH 16K  详情 回复 发表于 2015-10-19 17:13
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

6
 
wsmysyn 发表于 2015-10-19 16:43
326-328行都少了个*,手写可以省略,程序里面不行。

对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要更改里面的一些数据,所以不能存到rom里面去。不存在rom里面会提示lcd.c(329): error C249: 'DATA': SEGMENT TOO LARGE。这应该是超出了存储空间。请问还能存到其他地方吗?
此帖出自编程基础论坛

点评

可以试试这个http://blog.csdn.net/zqlovlg/article/details/8544297  详情 回复 发表于 2015-10-19 18:00
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

7
 
huaiqiao 发表于 2015-10-19 16:36
正解,4(b-1)这样表达不合适。

对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要更改里面的一些数据,所以不能存到rom里面去。不存在rom里面会提示lcd.c(329): error C249: 'DATA': SEGMENT TOO LARGE。这应该是超出了存储空间。请问还能存到其他地方吗?
此帖出自编程基础论坛

点评

这个问题的话,您可以在Options for Target 这个选项中设置,keil for 51的话,我忘记在哪个设置了。就拿你的这个错误百度下,看看百度的答案。  详情 回复 发表于 2015-10-19 17:32
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

8
 
brain发烧友 发表于 2015-10-19 17:01
对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要 ...

我用的单片机是STC90C54RD+,SRAM 1024,FLASH 16K
此帖出自编程基础论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

9
 
brain发烧友 发表于 2015-10-19 17:01
对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要 ...

这个问题的话,您可以在Options for Target 这个选项中设置,keil for 51的话,我忘记在哪个设置了。就拿你的这个错误百度下,看看百度的答案。
此帖出自编程基础论坛
 
 
 

回复

2165

帖子

8

TA的资源

五彩晶圆(初级)

10
 
brain发烧友 发表于 2015-10-19 17:01
对,确实这样,谢谢了。现在我遇到了一个新问题请指教。有一个数组里面有345个字节数,我的程序后续需要 ...

可以试试这个http://blog.csdn.net/zqlovlg/article/details/8544297
此帖出自编程基础论坛
 
个人签名坐而言不如起而行
 
 

回复

300

帖子

0

TA的资源

一粒金砂(高级)

11
 
EETUX 发表于 2015-10-19 16:26
4是函数
b-1是参数?
反正写成4*(b-1)就应该对了。

说得对~
此帖出自编程基础论坛
 
个人签名世间万物皆系于一键之上~
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

12
 
初级错误啊。。。。楼主。。。。。。。。
此帖出自编程基础论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表