Hallo, bin grad dabei mich in der Programmierung AVR - GCC mit BeRTOS zu versuchen. Controller ist ein mega32 wie im Betreff angegeben. Projekt mit Wizard erstellen klappt, und das erste Übungsbeispiel hab ich auch noch hinbekommen. Jetzt will ich den Soft Timer von BeRTOS benutzen aber ich bekomm das einfach nicht hin. Im tut auf der Seite von Bertos steht ne funktion in der main: timer_setSoftint(&t, callback); callback is hierbei die Soft-Interrupt Routine. Wenn ich das Programm kompilieren will kommt die Fehlermeldung: error: too few arguments to function 'timer_setSoftint' Dies liegt daran dass diese Funtion 3 Parameter erwartet nähmlich: timer_setSoftint (Timer *timer, Hook func, iptr_t user_data) Hat irgend jemand ne Ahnung was user_data ist? Wofür? hab schon versucht den pointer aus Parameter 1 zu benutzen, oder einfach irgend ne pointervariable deklariert und diese eingesetzt, aber es will einfach nicht gehen. Kennt sich damit vllt jemand aus? Bin voll am Verzweifeln!
Das dürften wohl die Daten sein, die du noch an die Callback-Funktion übergeben kannst. Ist ein void Pointer, dem du alles übergeben kannst, was du brauchst. Trag dort einfach NULL oder null ein, je nach dem, was definiert ist, dann sollte die Geschichte compilieren.
Knoten im Taschentuch für mich: http://dev.bertos.org/ BeRTOS is a completely free, open source, real time operating system (RTOS) suitable for embedded platforms. Runs on many microprocessors and microcontrollers, ranging from 8 bits to 32 bits CPUs and even PCs.
>oder einfach irgend ne >pointervariable deklariert und diese eingesetzt, aber es will einfach >nicht gehen. So sollte es aber gehen. Zeig doch mal deinen Code. Oliver
Hi nochmal :-) Danke für die schnellen Antworten, hab mal den (jetzt funtionierenden) Sourcecode angehängt. @Frank Erdrich: Jo das mit der NULL is klasse, jetzt funkts! :-) Hab leider aber schon wieder ein Problem, man glaubt es kaum (lach), und zwar kann ich den code jetzt kompilieren und an sich läuft das so auch, also der timer hat alle 1000ms nen überlauf und die Callback wird aufgerufen und der Code abgearbeitet, aber in der "Funktion timer_add();" is irgendson debug zeug mit drin welches mir über die serielle komische Warnungen ausgibt. Weiß zufällig jemand wie man das abschalten kann?
Ach ja, was ich mal noch sagen wollt, wenn irgendjemand bock auf ein geiles RTOS für atmegas hat der sollte sich BeRTOS wirklich mal angucken, mal abgesehen von den par startschwierigkeiten muss ich wirklich sagen das dieses RTOS wirklich empfehlenswert ist denn erstens kann man es so runterladen, sogar mit projekt-wizard, und zweitens gibts da allerhand an driver mit dabei von i2c über motor- bis hin zu ner SD-Card lib mit FAT support. Ein Blick lohnt sich in jedem Fall!
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.