Hallo kalledom!
Ich habe es jetzt so:
und es funktioniert.Code:@RAM movlw 0x9E <- hier wird auf RC2 und RC3 als Eingänge umgeschaltet movwf TRISC goto $+2 <- hier wird 3xNOP abgewartet (3x0.1µs bei 40MHz PLL/4) movf PORTC,0 andlw 0x0C btfss _Z goto @Out <- hier wird zurück RC2 und RC3 auf Ausgänge umgeschaltet falls die beiden Taster H sind movlw 0x92 <- hier wird auf Ausgänge zurückgeschaltet falls die beiden Taster L sind und weiter gelaufen movwf TRISC movff DTmp6,STmp6 ; aktives Display sichern movlw 2 ; Display2 movwf DTmp6 ; aktivieren lfsr FSR2,0x060 call @2nd call @Line call @4th call @Line movff STmp6,DTmp6 ; aktives Display wiederherstellen @Out movlw 0x92 <- bei diesem Wert arbeitet Display mit RC 2 und RC3 als Ausgänge movwf TRISC return
Vorher habe ich so erfolglos versucht:
Dort, wo jetzt goto $+2 (quasi 3xNOP) ist, habe ich vorher bis zu 10xNOPCode:@RAM movf TRISC,0 iorlw 0x0C <- hier wird auf RC2 und RC3 als Eingänge umgeschaltet movwf TRISC movf PORTC,0 andlw 0x0C btfss _Z goto @Out <- hier wird zurück RC2 und RC3 auf Ausgänge umgeschaltet falls die beiden Taster H sind call @Out <- hier wird auf Ausgänge zurückgeschaltet falls die beiden Taster L sind und weiter gelaufen movff DTmp6,STmp6 ; aktives Display sichern movlw 2 ; Display2 movwf DTmp6 ; aktivieren lfsr FSR2,0x060 call @2nd call @Line call @4th call @Line movff STmp6,DTmp6 ; aktives Display wiederherstellen @Out movf TRISC,0 andlw 0xF3 movwf TRISC return
probiert und hat´s nicht funktioniert. Für mich geht eindeutich die Änderung des TRIS Registers mit OR und AND nicht.
Vielleicht fällt Dir was ein ?. Ich habe damit kein Problem mehr.
Schöne Grüsse !![]()







Zitieren
Lesezeichen