compiler error bei dcf77 code von ulrichradig

Gast #364961
Lesenswert?

hi,

beim versuch den dcf77 code von ulrichradig zu compilieren bekomm ich
diverse compiler error -trotzdem ich die neuste winavr version benutze.
was ist denn da los :)

Fehler: Redefinition von SIGNAL
Fehler: EICRA nicht deklariert (erste Benutzung in dieser Funktion)
Fehler: zu viele Argumente für Funktion fdevopen
Moderator Persönliche Seite #364962
Lesenswert?

> Redefinition von SIGNAL

Sieht so aus, als wäre <avr/interrupt.h> nicht reingezogen
worden.

> EICRA nicht deklariert (erste Benutzung in dieser Funktion)

Dein Prozessor hat dieses Register nicht, der Code denkt aber,
es wäre immer da.

> zu viele Argumente für Funktion fdevopen

Mit Übergang auf avr-libc 1.4 hat sich das API von fdevopen()
geändert.  Das alte API ist verfügbar, wenn man den Makro
__STDIO_FDEVOPEN_COMPAT_12 definiert, entweder via #define
(vor dem #include <stdio.h>) oder über eine -D-Option des
Compilers.  Steht alles in der Doku...

Eigentlich sollte aber der Code wohl besser auf die neuen APIs
angepasst werden (u. a. Ersatz von SIGNAL() durch ISR(),
Benutzung von FDEV_SETUP_STREAM() um kein malloc() mehr für
stdio zu benötigen).
Gast #364963
Lesenswert?

aha, danke !

wenn mein prozessor dieses register also nicht hat - wie muss ich den
code dann anpassen? hab leider noch nicht genügend ahnung um das alles
selbst hinzubekommen :)

es wird into_control auf 0x02 oder 0x03 gesetzt.

#define INT0_CONTROL    EICRA
#define INT0_FALLING_EDGE  0x02
#define INT0_RISING_EDGE  0x03
Gast #364965
Lesenswert?

mh irgendwie bin ich überfordert :/

hab jetzt viel rumprobiert und andere beispiele gesucht, auch das
datenblatt durchgemacht aber ich fürchte ohne hilfe komme ich einfach
nicht weiter.

vielleicht hat ja jemand heute abend nochma kurz zeit dafür ... trotz
dem super wetter :P

danke ... und schönes wochenende!
Gast #444315
Lesenswert?

Nabend

habe vermutlich ein ähniches Problem.

Mein Interrupt wird nicht ausgewertet. Im LCD habe ich die ganze Zeit NS 
stehen.
Habe schon beides Ausprobiert: #define INT0_CONTROL MCUCR als auch 
#define INT0_CONTROL GICR.
Ohne erfolg.
kannst du mir mal den Code vom Mega 16 rüber schicken.


MfG
Ronald

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