Forum: Mikrocontroller und Digitale Elektronik Formatierte Zahlenausgabe-Fehler beim Compilieren


von Jörg S. (mitchell)


Angehängte Dateien:

Lesenswert?

Hallo,
ich versuche gerade die Formatierte Zahlenausgabe von Peter Dannegger zu 
testen.
Beitrag "Formatierte Zahlenausgabe in C"

Ich verwende den Mega8, habe die Ports und Timer angepasst, aber beim 
Compilieren erhalte ich volgenden Fehler.

Error  1  unknown type name 'prog_uint32_t'  D:\Atmel 
Studio\6.2\valout_PD\valout-Test\VALOUT.C  13  20  valout-Test

Der Typ ist doch in der pgmspace.h definiert und das ist auch in der 
VALOUT.C so enthalten  #include <avr/pgmspace.h>.

Woran kann es liegen, bzw. was muss ich ändern?

In der valout-test.c steht das Gleiche wie in der MAIN.C.
Das ist nur eine Kopie der MAIN.C

Gruß Jörg

von Karl H. (kbuchegg)


Lesenswert?

Das ist alles ziemlich alter Code. Da hat sich in der Zwischenzeit 
einiges geändert, sofern es diesen Typ überhaupt jemals offiziell 
gegeben hat.

ersetze
1
#define  table_type  prog_uint32_t
durch
1
#define table_type const uint32_t PROGMEM

bzw. dasselbe für den sinngemäss gleichen 16 Bit Datentyp etwas weiter 
unten.

https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Flash_mit_PROGMEM_und_pgm_read

Mitlerweile gibt es einen noch vernünftigeren Mechanismus mittels 
__flash. Auch in die Richtung könnte man das abändern.

von Karl H. (kbuchegg)


Lesenswert?

Ausserdem solltest du Artikel, aus denen du Code entnimmst immer zur 
Gänze durchlesen. Es kommt des öfteren vor, dass mit fortschreitendem 
Thread neue Versionen zustande kommen. In diesem Fall hat Johann L. eine 
überarbeitete und an die damalige Zeit angepasste Version nachgeschoben.

von Jörg S. (mitchell)


Lesenswert?

Hallo,
danke für den Hinweis.
Ich werde das dann mal testen.

Gruß Jörg

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.