微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 粗大问题了

粗大问题了

时间:10-02 整理:3721RD 点击:
在写电子时钟和温度检测程序时,未模块化编程之前编译成功,但模块化之后出现这样的问题:SRC\LCD1602.C(34): error C208: '_write_1602': too many actual parameters另附图:


求指导,本人编程小白。

如图:


太多实际参数。

那要怎么解决?

没有 是前面定义有了 1表示第一行 2第二行 0表示从第液晶第一位开始读入数据

你那函数定义不对吧 楼上已经说明白了问题。你再从新定义一个与Write_1602();相区别的就行。

定义应该没问题,是用指针写的函数。这个样子:
void write_1602(uchar dat_com,uchar date)  
{
        lcd_rs=dat_com;   
        P0=date;     
        delay(5);   
        lcd_en=1;   
        delay(5);
        lcd_en=0;   
}
void display0(uchar y,uchar x,uchar *s){
        if(y==1)
        write_1602(0,0x80+x);
        if(y==2)
        write_1602(0,0x30+x);
        while(*s)
        write_1602(1,*s++);
}
你再看看。


实参与形参个数应该相等,类型应该匹配。这是C语言中讲过的。

你调用的时候出问题了  你不是调用的DISPLAY0(,,)这个函数 你调用的是WRITE_1602();

好的 谢谢你 我再自己琢磨琢摩

真的是啊 太谢谢你了  

是的。你函数调用的实参多余函数的形参了。你那个写1602的函数就2个参数,你放三个上去当然提示了。模块分的蛮细的挺好的。

你说得对,我是新手,最近刚学模块化编程。有点棘手。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top