Problem mit eeprom_read_dword

Gast #2440357
Lesenswert?

Hallo,
ich mache mit dem AVRstudio4 und dem ATtiny85 rum.
Mein kleines Testprogramm scheint irgendwie zu funktionieren,
aber wenn ich für die eeprom-Adresse statt 0x00 z.B 0x10 eingebe, krieg 
ich zweimal die Fehlermeldung:"makes pointer from integer without a 
cast"
1
int main(void)
2
{
3
  unsigned long long int Zahl;
4
  Zahl = eeprom_read_dword(0x10);;
5

6
  DDRB = (1 << STX_BIT);
7
  while(1)
8
  {
9
    RS232_Ausgabe_Text("Zahl =");
10
    RS232_Ausgabe_Zahl(10,Zahl);
11
    
12

13
    if(!(Zahl % 10)) eeprom_write_dword( 0x10,*(uint32_t *)&Zahl);
14

15
    Zahl++;
16
    my_putchar(13);
17
    my_putchar(10);
18
    for(volatile unsigned long int x=100000;x;x--){}
19
  }
20
}
Gast #2440389
Lesenswert?

Heiopei schrieb:
> ich zweimal die Fehlermeldung:"makes pointer from integer without a
> cast"int main(void)

Fehler oder Warnung? :-)

> {
>   unsigned long long int Zahl;
>   Zahl = eeprom_read_dword(0x10);;

eeprom_read_dword will als Argument einen Pointer haben und
keinen integer. Du gibst 0x10 als Argument an, und Zahlen ohne
Zuffix sind nun mal int und keine Pointer.
..dann "caste" doch mal:
Zahl = eeprom_read_dword( (uint16_t*)0x10)

>     if(!(Zahl % 10)) eeprom_write_dword( 0x10,*(uint32_t *)&Zahl);
>
>     Zahl++;
>     my_putchar(13);
>     my_putchar(10);
>     for(volatile unsigned long int x=100000;x;x--){}
>   }
> }

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