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

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.