-
-
Erfahrener Benutzer
Robotik Visionär
[Hi, HeSt,
quote="HeSt"]update:
3 NOPs vor und nach dem SEI in MLOOP bringen keine änderung des symptoms.
anfänglich hat es so ausgesehen, als ob damit das problem der kurzen impulse gelöst wäre, aber nach gut 5 durchläufen das selbe verhalten wieder. egal ob ich dann mal durch abschalten wieder von vorne angefangen hab ...[/quote]
-------------------------------------------------------
Schade dass Di nop´s nicht helfen
.
Du verwendest den Sekundentimer SCNT offenbar für mehrere Routinen, kann da ein/der Fehler liegen? Der Wert wird doch möglicherweise von der einen Routinen gerade benutzt, und dann kommt die Interruptgeschicht - die das Wait auch benutzt. Wäre dumm.
Ausserdem wird SCNT im WAIT mit TSEC verglichen, und TSEC kann sowohl den Wert 5 haben - in CLSLATCH und OPNDOOR - als auch den Wert 1 - in DOORIMP. Da werden sich über kurz oder lang die Interrupts sicher in die Quere kommen. Mögliche Abhilfe:
In der ISR vor dem rcall wait ein push tsec machen und vor dem reti ein pop tsec ? ?
Aber bestimmt unschön ist es in STRTMR den Interrupt generell zu erlauben - "sei". Dann bekommst Du (wie schon erwähnt) nested interrupts - eine hübsche Geschichte die mit äusserster Vorsicht programmiert werden sollte/kann/muss. Sonst geht das schief
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen