Hallo, ich habe ein Funktion, die Hardware abfragt: Ich habe ein Sample und Hold Glied, das von einem ADC ausgelesen wird. Kommt jetzt ein anderer Task vor dem Auslesen dazwischen: Ergebnis ist kaputt. Wie kann ich dem Scheduler sagen, dass er die eine Funktion nicht unterbrechen darf? Michael
Off. 16:1 Und ich hörte eine große Stimme aus dem Tempel, die sprach zu den sieben Engeln: Gehet hin und gießet aus die Schalen des Zorns Gottes auf die Erde!
Hardware: Ist halt ein IC, da kann ich nicht viel ändern: http://www.linear.com/product/LTC2355-14 Ich bräuchte halt sowas wie bei Mikrocontrollern "clear interrupt enable"...
Update: Ich habe das mal geinlined, jetzt scheint das Problem nicht mehr aufzutreten. Aber der ADC misst trotzdem noch ungenau. Shit.
Michael H. schrieb: > Wie kann ich dem Scheduler sagen, dass er die eine Funktion nicht > unterbrechen darf? Windows, Linux, RTOS (welches von den vielen) oder eigenes System? So ins Blaue hinein würde ich sagen, falsches Design - S&H (woher gesteuert auch immer) sollte einen Interrupt auslösen, in der ISR wird der ADC ausgelesen und zwar mit garantierter Reaktionszeit. Gibt es die nicht, wie bei Linux oder Windows, ist das Problem auch nicht zuverlässig lösbar. Alle anderen Interrupts zu sperren geht nur in einem selbstgeschriebenen System, und dann muss man alle Nebenwirkungen überschauen können (z.B. dass kein anderer Event mehr eine garantierte Reaktionszeit hat). Es muss also entsprechend einfach sein, ev. ein extra Controller dafür. Gruss Reinhard
Michael H. schrieb: > Wie kann ich dem Scheduler sagen, dass er die eine Funktion nicht > unterbrechen darf? Willkommen im Reich der Device Driver. Das ist deren Domäne. Einfacher: Per µC auslesen und über USB oder Serielle dem PC mitteilen. > Update: Ich habe das mal geinlined, jetzt scheint das Problem nicht mehr > aufzutreten. Das stört den Scheduler überhaupt nicht. Sicher, dass du an der richtigen Stelle suchst?
:
Bearbeitet durch User
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.