Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: PWM-Signale von Fernsteuerung erkennen Kategorie: Programmierung ASM (von holger - 4.03.2004 11:59)
 Als Antwort auf Re: PWM-Signale von Fernsteuerung erkennen von tu - 14.02.2004 19:29
> > Kann mir jemand sagen was #1,#2,#4,#8 im Assemblertext ist. Wenn ich Kanal 5,6,7,8 brauche,was ist dann mit #1,usw. Wird daraus dann #16, #32
> > usw.?
> > Und was bewirkt "and" genau?
> >
>
> #1, #2 usw. im Assembler-Programm sind Konstanten, d.h. feste Zahlen 1, 2, ...
> Diese werden benutzt, um jeweils ein Bit des Byteports "auszumaskieren".
>
> Beispiel:
>
>                        ; Puls an Portpin 3 dekodieren                        
>  w_hi_3 lda portb      ; Port 1 einlesen
>         and #4         ; Pin 3 ausmaskieren
>
>
> Es soll Pin 3 ausgewertet werden. Pin (oder Bit) 3 entspricht der Bitmaske 2^(3-1) also 4
> Nebenbei: -1 ist notwendig, weil die Zählung bei 0 beginnt.
>
> Durch den and-Befehl wird das Portbyte bitweise mit der Maske verknüpft, bei der Maske #4
> bleibt also nur Pin (oder Bit) 3 übrig, die anderen Pins sind "ausmaskiert".
>
> Wenn also mehr als 4 Servoausgänge des Empfängers mit entsprechenden Pins des Byteports
> verbunden sind, lauten die Masken also tatsächlich #16, #32, #64, #128.
>
> Das hat aber natürlich nichts damit zu tun, welche Kanäle des Empfängers verwendet werden!
> Entscheidend sind die Nummern der Portpins an der C-Control Unit.
> Wenn also z.B. nur die Kanäle 5,6,7,8 eines (8- oder mehrkanaligen) Emfängers ausgewertet
> werden sollen, können diese ebenso über die Portpins 1,2,3,4 eingelesen werden (über die
> beschriebene Transitorstufe). Dann sind die richtigen Masken also immer noch #1, #2, #4, #8.
>
> > Kann ich denn Assemblercode bei C3C auch direkt über #asm ... #endasm einfügen, oder wird das dann wieder zu langsam?
> Ich habe mit C3C selbst keine Erfahrung.
> Aber: Assembler-Code sollte immer gleich schnell sein.
> Es kommt auch nur auf die Geschwindigkeit innerhalb der Assembler-Routine an. Ein
> evtl. vorhandener Overhead beim Aufruf der Routine ist unerheblich.
> Also ruhig mit C3C probieren!
>
> > Kann ich z.B.: den "BC558" nehmen?
> Nein, BC 558 geht nicht! Dies ist ein PNP-Typ, es wird aber ein NPN-Typ gebraucht. Es geht z.B. BC 547.
>
>
> > Wie lange dauert es eigentlich einen Kanal auszulesen?
> Ein Servoimpuls ist 1 bis 2 msec lang, die Wiederholrate ist 20 msec. Die Assemblerroutine
> wird also zwischen einigen msec und maximal 2 x 20 msec = 40 msec brauchen.
> Interessanter dürfte sein, wiel lange der Rest des Programms benötigt, d.h. wie oft
> die Kanalimpulse eingelesen werden. Das kommt natürlich auf die jeweilige Anwendung an.
>


Vielen Dank nochmal für die Beantwortung meiner Fragen.
Hätte aber noch eine Fragen zur Zeit spanne die das Assemblerprogramm braucht.
Bei Motorola steht das der HC05 bei 4Mhz 2µs takte hat.
NOP z.B.: braucht 2 Takte, jetzt brauch ich eigentlich nur die takte zählen mal 2 und habe die Zeit die das Assemblerprogramm
braucht. Jetzt weiß ich nur nicht,wie das mit den Befehlen ist
die zwischen 2 und 6 takte brauchen. Woher weiß ich ob der Befehl 2 oder mehr takte braucht.
Hoffe ich habe mich verständlich genug ausgedrückt worauf ich hinaus will.
Vielen dank nochmal.
MfG  Holger

 Antwort schreiben

Bisherige Antworten:

Re: PWM-Signale von Fernsteuerung erkennen (von tu - 5.03.2004 23:37)
    Re: PWM-Signale von Fernsteuerung erkennen (von holger - 23.03.2004 11:25)
        Re: PWM-Signale von Fernsteuerung erkennen (von tu - 2.04.2004 23:34)
            Re: PWM-Signale von Fernsteuerung erkennen (von holger - 5.04.2004 11:50)
                Re: PWM-Signale von Fernsteuerung erkennen (von tu - 21.04.2004 21:51)