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
> 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).
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
Meine Kristallkugel ist leider zur Reparatur, daher müsstest du uns schon noch verraten, welchen Prozessor du benutzt. Aber eigentlich kannst du auch gleich selbst dann im Datenblatt nachgucken, wie das zugehörige Steuerregister heißt, mit dem der Externinterrupt 0 aktiviert wird.
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!
Du hast uns leider immer noch nicht geschrieben, welchen Prozessor du benutzt. Alles, was wir wissen ist, dass er kein EICRA hat, aber da bleiben immer noch ziemlich viele AVRs übrig...
Datenblatt Seite 67: GICR. War das wirklich so schwer zu finden? Ich habe lediglich auf der linken Seite in den Bookmarks den Punkt "External Interrupts" nachgeschlagen. Bitte mach dir das nächste Mal ein wenig mehr Mühe, deine ,,Hausaufgaben'' zu erledigen, sonst wird dir irgendwann keiner mehr helfen wollen.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.