problem in string display

#include<reg51.h>
#include<string.h>
#include<stdio.h>
#define lcd_data P1
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
unsigned char n[5]="hello";
unsigned char m[]="welcome rakesh";
void cmd_lcd(unsigned char);
void write_lcd(char);
void delay(unsigned int);
void lcd_int()
{ cmd_lcd(0x38); cmd_lcd(0x0c); cmd_lcd(0x01); cmd_lcd(0x80);
} void cmd_lcd(unsigned char x)
{ x=lcd_data;
rs=0;
rw=0;
en=1;
delay(50);
en=0;
}

void write_lcd(char s)
{

s=lcd_data;
rs=1;
rw=0;
en=1;
delay(500);
en=0;
} void delay(unsigned int temp)
{ unsigned int i,j;
for(i=0;i<255;i++);
for(j=0;j<temp;j++);
}

void main()
{ void lcd_int(); void write_lcd(n); void delay(500); void cmd_lcd(0x01); void delay(100); void write_lcd(m); void delay(100);
}

this code shows following error:
Build target 'Target 1'
compiling lcdc04.c...
LCDC04.C(50): error C161: 'n': formal parameter ignored
Target not created

please help me in clearing this...

Parents
  • Dan,

    I'm very confused with what you say.

    You said that what Jameel was telling the OP was wrong, but then you provide a link which actually supports what he said.

    That is:

    Passing the wrong type of parameter. Jameel said "you call write_lcd with n. n is the name of an array of characters. what c does is pass the address of the array. and your function write_lcd expects a single character. not an address to an array of characters." Lint reports "Type mismatch". Not totally correct, but a reasonable start.

    Incorrect position of void. Jameel said "(Rakesh mate. look at the void.)". We can only guess how much was understood with that, but along the right lines.

    And yes, I acknowledge that there are other errors/warnings that Lint picked up.

    Please don't fall into that distasteful habit that certain other posters have on this forum.

Reply
  • Dan,

    I'm very confused with what you say.

    You said that what Jameel was telling the OP was wrong, but then you provide a link which actually supports what he said.

    That is:

    Passing the wrong type of parameter. Jameel said "you call write_lcd with n. n is the name of an array of characters. what c does is pass the address of the array. and your function write_lcd expects a single character. not an address to an array of characters." Lint reports "Type mismatch". Not totally correct, but a reasonable start.

    Incorrect position of void. Jameel said "(Rakesh mate. look at the void.)". We can only guess how much was understood with that, but along the right lines.

    And yes, I acknowledge that there are other errors/warnings that Lint picked up.

    Please don't fall into that distasteful habit that certain other posters have on this forum.

Children
More questions in this forum