Gast
#2281744
Hallo zusammen. Ich programmiere seit einer gewissen Zeit C für PICs. Jetzt hab ich an einem "Problem", wozu ich eine Frage hätte. Und zwar hab ich einen PIC, der 21 IOs hat (18F2550). Der PORTA hat 6 bit, PORTB hat 8bit und PORTC hat 7 bit. Ich bekomme über I²C eine 8bit-Zahl, die ich dann Ausgeben möchte. Idealerweise hätte ich die Zahl genommen und direkt auf PORTB geschrieben. Doch da 2 bits vom PORTB für das I²C-Modul gebraucht werden (RB0&RB1), habe ich somit keinen freien 8-bit-PORT. Jetzt hab ich mir überlegt, ich nehme RC6 statt RB0 und RC7 statt RB1, dann RB2-RB7 für den Rest. Wenn ich jetzt aber die 8bit Zahl in einem Buffer habe, müsste ich die ersten beiden Maskieren, verschieben und nach PORTC schreiben und dann nochmal die Zahl zu PORTB schreiben. Da kam mir folgender gedanke: Kann man einer char-Variablen Ausgänge zuweisen? So dass ich zum Beispiel die Zahl in die Variable "port_ersatz" schreibe und der Compiler dann weiß, welche Pins/IOs er setzen bzw. löschen muss? Zum Beispiel:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Ich hoffe es ist klar geworden, was ich meine.