hei, MPLAP 8.84 C18 PIC18F46K22 wird wahrscheinlich schlecht formuliert sein. besteht eine Möglichkeit, verschiede Port Pin, die an unterschiedlichen Ports und unterschiedlichen Bits, per Table öder ähnliches anzusprechen. Beispiel: 1) 0b00001000 (Bit 3) == LATAbits.LATA3 2) 0b00000100 (Bit 2) == LATDbits.LATD2 habe im meinem Code alles andere mit Masken am laufen, was einwandfrei funktioniert. die gefragte Option würde alles weitere flexibel gestalten und mir viel Code sparen. schönen Tag
L. R. schrieb: > Beispiel: > > 1) 0b00001000 (Bit 3) == LATAbits.LATA3 > > 2) 0b00000100 (Bit 2) == LATDbits.LATD2 Und wie soll zwischen verschiedenen Ports (A und D) unterschieden werden? Zumindest das müsstest du doch mit in die Tabelle aufnehmen, oder verstehe ich deine Frage komplett falsch? Mit freundlichen Grüßen, Karol Babioch
Gast
#3800693
Probiers mal mit: 0b00001000 (Bit 3) &= LATAbits.LATA3
Gast
#3800702
Vielleicht als Unterprogramm:
Tab equ H'00'
Bit2 equ 2
Bit3 equ 3
Ausg btfss Tab,Bit3
bcf LATA,Bit3
btfsc Tab,Bit3
bsf LATA,Bit3
btfss Tab,Bit2
bcf LATD,Bit2
btfsc Tab,Bit2
bsf LATD,Bit2
return 0
Hier mal eine Routine für den AVR. Mit kleinen Anpassungen sollte sie auch auf dem PIC laufen.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
hei, danke für die Info. schönen Tag
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.