Re: PLM PORT_PUSHPULL Kategorie: CC2-Unit & Appl.Board / CC2-Station (von André H. - 18.01.2005 17:05) | ||
Als Antwort auf Re: PLM PORT_PUSHPULL von Joachim S - 15.01.2005 12:25 | ||
| ||
Hallo Joachim, > also, dieses Push-Pull bedeutet, dass der Ausgang sowohl Strom liefern als auch aufnehmen kann. > > Er zieht in diesem Modus aktiv auf Plus oder Minus. > > Im Modus Digital kann er nur Strom liefern, also nur nach Plus schalten. Das stimmt leider so nicht. In der Dokumentation und in der Konstantendefinition im Modul ist hier leider ein Fehler. Es gibt für für die PLM-Ports insgesamt zwei Modi: 1. digital(0): Hier wird liegen am Port entweder 0V oder 5V an. 2. Opendrain oder "Transistor"(1): Hier wird der Port Opendrain (Open Collector) geschalten. Dies entspricht einer N-Kanal-Transistorstufe. Sinnvoll ist dies z.B. bei der Ansteuerung von Servos. Der Port wird mit einem Pull-Up (z.B. 4,7k) gegen 5V geschalten. Kommt es bei der Servoleitung zu einem Kurzschlu� oder einer �berlastung (gegen GND), so geht nicht gleich der Port hops. Hier ein Auszug aus dem ASM-Listing des OS, was dies belegt: ;PLM PORTMODE 0x9c34: CMP R12,#0x0 0x9c36: JMPR cc_EQ,0x9c42 ;PLM.0 0x9c38: CMP R12,#0x1 0x9c3a: JMPR cc_EQ,0x9c4e ;PLM.1 0x9c3c: CMP R12,#0x2 0x9c3e: JMPR cc_EQ,0x9c62 ;PLM.2 0x9c40: JMPR cc_UC,0x9c7c ;RETS ;PLM.0 0x9c42: CMP R13,#0x0 0x9c44: JMPR cc_NE,0x9c76 0x9c46: EXTR #1 0x9c48: BFLDL ODP8,#0x1,#0x0 0x9c4c: RETS ;PLM.1 0x9c4e: CMP R13,#0x0 0x9c50: JMPR cc_EQ,0x9c5a 0x9c52: EXTR #1 0x9c54: BFLDL ODP8,#0x2,#0x2 0x9c58: RETS 0x9c5a: EXTR #1 0x9c5c: BFLDL ODP8,#0x2,#0x0 0x9c60: RETS ;PLM.2 0x9c62: CMP R13,#0x0 0x9c64: JMPR cc_EQ,0x9c6e 0x9c66: EXTR #1 0x9c68: BFLDL ODP8,#0x4,#0x4 0x9c6c: RETS 0x9c6e: EXTR #1 0x9c70: BFLDL ODP8,#0x4,#0x0 0x9c74: RETS 0x9c76: EXTR #1 0x9c78: BFLDL ODP8,#0x1,#0x1 0x9c7c: RETS MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: |