Forum: Mikrocontroller und Digitale Elektronik compiler fehler


von hugo (Gast)


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);
}

von tüddel (Gast)


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

von hugo (Gast)


Lesenswert?

Ja klar dummer fehler!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.