Re: Beispiel für os_template Kategorie: Progr. Assembler, TaskingTools, OS (von Sven - 26.07.2004 20:01) | ||
Als Antwort auf Re: Beispiel für os_template von AndrĂ© H. - 26.07.2004 18:54 | ||
| ||
Hmm, als Ausgang definieren... Kannst du dafür ein kleines Quellcode Beispiel geben, wie ich die Bit-Flag setzten kann? Wieviel leere Schleifen schaft den die CC2 so pro Sekunde (bei einem "Task")? > Hallo Sven, > > > Oder hab ich einfach einen Fehler im Code? > > Fehler nicht, aber etwas vergessen. > Wenn Du einen Port als Ausgang benuzten willst, solltest Du diesen auch als solchen definieren. > Nur in C2 wird vom Betriebssystem der Port als Ausgang gesetzt, wenn dieser noch keiner ist. > Hierfür mu� Du die entsprechenden Bits in den Registern DP1L und DP1H setzen. > > Auch Deine Schleife läuft etwas zu schnell. > Schätzungweise sollte die LED bei Dir dann mit ca. 5 bis 6kHz blinken. :-) > > Als kleines Beispiel: > Bei der HostLED-Erweiterung von OSOPT V3.0 werden 786.420 bzw. 983037 Schleifendurchläufe > durchgeführt, bevor der Pegel der LED wechselt. > Hier sind zwei verschachtelte Schleifen am Werk. Einmal eine mit festen 65535 Durchläufen > und einmal eine mit der übergebenen Anzahl an der Hauptschleife. > Die LED müsste hier mit ca. 2,5Hz blinken. > > So sieht die Warteroutine von OSOPT V3.0 für die Host-LED in Assembler aus: > waitcy proc near > PUSH R8 > _1: > MOV R8,#0FFFFh > _2: > CMPD1 R8,#1 > JMPR cc_UGT,_2 > > JB DP3.4,_3 > JB T3EUD,_3 > BSET PSW.6 > _3: > CMPD1 R4,#1 > JMPR cc_UGT,_1 > POP R8 > RETN > waitcy endp > > MfG André H. > | ||
Antwort schreiben Antworten: Re: Beispiel für os_template (von André H. - 28.07.2004 12:59) Re: Beispiel für os_template (von Sven - 28.07.2004 19:57) Re: Beispiel für os_template (von André H. - 29.07.2004 7:12) Re: Beispiel für os_template (von Thomas - 27.07.2004 22:20) |