Forum: Compiler & IDEs Problem mit BeRTOS und AVR - ATMega32


von Kay S. (Firma: keins) (e-spast)


Lesenswert?

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!

von Frank E. (erdi-soft)


Lesenswert?

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.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

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.

von Oliver (Gast)


Lesenswert?

>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

von Kay S. (Firma: keins) (e-spast)


Angehängte Dateien:

Lesenswert?

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?

von Kay S. (Firma: keins) (e-spast)


Lesenswert?

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
Noch kein Account? Hier anmelden.