compiler fehler

Gast #140920
Lesenswert?
• ▲
▼
Hi,
hab hier immer diesen Fehler wenn ich eine Argument mittels zeiger
übergebe.
"warning: passing arg 1 of `write_i2c' makes pointer from integer
without a cast" Übersetzt kann ich mit dem Satz nichts anfangern, was
bedeutet er? Und wie Löse ich das Problem.

Hier das Programm:

void start_i2c(void);
void stop_i2c(void);
void init_i2c(void);
void delay_i2c(int);
void write_i2c(int*,int);
void data_i2c(int*);
void clock_i2c(void);




int main(void)
{
  write_i2c(79,01);          <---- Dort fehler
}
void start_i2c(void)
{
  cbi (PORTD,0);//sda
  delay_i2c(50);
  cbi (PORTD,1);  //scl
}

void stop_i2c(void)
{
  sbi (PORTD,1);
  delay_i2c(50);
  sbi (PORTD,0);
}

void init_i2c(void)
{
  sbi (PORTD,0);
  sbi (PORTD,1);
  delay_i2c(50);
}

void delay_i2c(int t)
{
  while(t>0)
  {t--;};
}

void write_i2c(int *adress_i2c,int byte_i2c) <---- hier zeiger
{
  start_i2c();
  data_i2c(*adress_i2c);               <---- hier zeiger
}
void data_i2c(int *byte_i2c)                 <---- hier zeiger
{
  int count;
  int fil=128;


  count=8;
  while(count>0)
  {
    if ((*byte_i2c & fil)>=1)    <---- hier zeiger
    {
      sbi(PORTD,0);
      count=count-1;
      fil=fil/2;
    }
    else
    {
      cbi(PORTD,0);
      count=count-1;
      fil=fil/2;
    }
  }
}
void clock_i2c()
{
  sbi(PORTD,1);
  delay_i2c(50);
  cbi(PORTD,1);
}
Gast #140921
Lesenswert?
• ▲
▼
int main(void)
{
  write_i2c(79,01);          <---- Dort fehler
}

deine 79 sollte ein pointer sein ;-)

also ich würde eventuell gänzlich ohne pointer arbeiten ;-) dann hast
du auch nicht das prob. "pointer ins nirvana" :-P

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren