typedef in AVR Studio

Gast #3050301
Lesenswert?
• ▲
▼
Hallo an die Gemeinde

Ich habe ein Problem mit folgenden typedefs:
1
typedef unsigned long DWORD;
2
typedef unsigned char uint8_t;
3
typedef unsigned char BYTE;
4
typedef unsigned int WORD;
5
typedef unsigned char CHAR;
ich bekomme die Fehlermeldung "redefinition of typedef...$

Kann mir jemand sagen, wie ich das hinkriege?

und das 2. ist folgendes:
1
DWORD GetFolderCluster(WORD addr)
2
{
3
  DWORD temp;
4
  temp = eeprom_read_byte(addr);
5
  temp <<= 8;
6
  temp += eeprom_read_byte(addr+1);
7
  temp <<= 8;
8
  temp += eeprom_read_byte(addr+2);
9
  temp <<= 8;
10
  temp += eeprom_read_byte(addr+3);
11
  
12
  return temp;
13
}
Wenn ich dies so kompiliere, gibt es mir die Fehlermeldung:

Error  25  expected 'const unsigned char *' but argument is of type 
'int'

Danke für die Hilfe und Gruss

Leo
#3050318
Lesenswert?
• ▲
▼
Du oder eine andere Headerdatei hat wohl stdint.h eingebunden. Da wird 
uint8_t schon definiert. Also kannst Du es nicht selber nochmal anders 
definieren. Ich würde Dir auch dringend empfehlen, die Typen aus 
stdint.h zu benutzen, wenn Du welche mit fester Breite benötigst, 
anstatt selber irgendwas zu definieren. Was soll das denn auch bringen, 
außer Leser des Codes zu verwirren?

Die zweite Fehlermeldung sagt doch schon alles. eeprom_read_byte() 
erwartet die Adresse des Bytes, also einen Zeiger: const unsigned char*. 
Du kannst auch einen uint8_t* nehmen. Aber ein unsigned int (den Du als 
WORD definiert hast) ist nun mal kein Zeiger, sondern eine Zahl.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.