Guten Morgen,
auf einem ST Mikrocontroller läuft das RTOS uC/OS-III. Die Task wird auf
korrekt ausgeführt. Nun möchte ich das ganze erweitern und einen OS
Timer vom uC/OS-III benutzen. Die Initialisierung sowie Start wird in
der Task ausgeführt. Allerdings wird nicht in die Funktion "Fnct"
gesprungen.
Wo könnte da das Problem liegen ?
OsUser schrieb:> auf einem ST Mikrocontroller läuft das RTOS uC/OS-III.
Da liegt schon der Fehler ;-).
Nimm embOS und es wird funktionieren.
Spaß beseite, ich kenne jetzt die API von uC/OS-III nicht, aber kann es
sein, das du in der Callback Funktion eine Retrigger Funktion aufrufen
musst?
Kommst du denn in der Funktion nur einmal an oder nie?
Danke für deine Antwort. Die Funktion wird nie angesprungen.
In einer anderen Applikation (UC/OS-III + Lwip) da funktioniert der
Timer bzw. die Funktion Fnct wird angesprungen. In der Headerdatei
"os_cfg.h" gibt es ein DEFINE OS_CFG_TMR_EN. Dieses DEFINE hat den Wert
1. Was mir nun aufgefallen ist, dass in den einzelnen uC/OS-III
Quelldateien, dieses DEFINE keine Auswirkungen hat, obwohl die Pfade
stimmen. (Siehe z.B. os_tmr.h)
Was müsste ich genau tun, damit dieses DEFINE in den Quelldateien wie
z.B. os_tmr.h vorhanden ist ?
Wie bei uC/OS-III muss man sowas per Define auch noch konfigurieren?
Was für ein Murks.
Da kann ich Guest nur recht geben, ich arbeite auch mit embOS und da
funktioneren solche Sachen einfach ohne das man sich Gedanken darüber
machen muss.
Aber das hilft dir wohl gerade nicht weiter.
Wird denn die os_cfg.h von den C Dateien überhaupt inkludiert?
>Was müsste ich genau tun, damit dieses DEFINE in den Quelldateien wie>z.B. os_tmr.h vorhanden ist ?
Entweder muss das Define in der Datei os_tmr.h gesetzt werden, oder in
einer Headerdatei, die von os_tmr.h inkludiert wird oder es muss als
Preprocessor Symbol gesetzt werden.