Gast
#4318238
Hallo, vielleicht ist die Frage dumm und ich stehe einfach nur auf der Leitung. (Konkret geht es um einen PIC18F2550 und SDCC, aber ich vermute das spielt keine Rolle). Man kann in C einen 8-Bit-Wert einfach auf einen PIC-Port schreiben, z.B. PORTb=42. Nun liegen aber auf B1 und B0 die SPI-Signale, und da SPI verwendet wird, müssen die unteren beiden Bits auf einem anderen Port ausgeben werden, z.B. C1 und C0. Gibt es eine Möglichkeit, die Portbits B7...B2, C1 und C0 logisch zu einem Port zusammenzufassen, sodass man einfach z.B. mit MYPORT=42 den Wert rausschreiben kann? Sonst müsste man die Bits einzeln rausschreiben, das wäre wahrscheinlich recht mühsam. Ich habe überlegt, die Bits in einer union zusammenzufassen, wie es in den PIC-Headerfiles gemacht wird. Aber die sind ja byteweise auf feste Portadressen gemappt, das hilft mir also nicht weiter. Vielleicht habe ich es einfach übersehen, aber beim Drübergooglen habe ich keine Lösung gefunden.