mikrocontroller.net

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


Autor: Kay Sieber (Firma: keins) (e-spast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Frank Erdrich (erdi-soft)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kay Sieber (Firma: keins) (e-spast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Kay Sieber (Firma: keins) (e-spast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.