PIC CCS C - Port Ausgang mit 8bit int setzen

Gast #2482683
Lesenswert?

Hallo

Ich suche gerade nach einer Möglichkeit im CCS Compiler für den 
PIC184550 die PINs eines Portes direkt zu setzen. Also z.B.
1
PORTB = 11000000
wodurch RB0 und RB1 gesetzt sein sollten. Gibt es irgendeine Möglichkeit 
dies mit einer 8 bit (oder auch 16 bit falls die direction noch 
enthalten sein muss)?

Vielen Dank
#2482821
Lesenswert?

Noch ist nicht ganz klar was genau du erreichen möchtest. Wenn du 
einzelnen  Pins neue Werte zuweisen möchtest, ohne die anderen Pins mit 
zu beeinflussen verwendet man Bitmanipulation 
(http://www.mikrocontroller.net/articles/Bitmanipulation). Beispiele 
findest du im Artikel.

Manche Compiler bieten einen direkten Zugriff auf die Bits an. Beim 
Compiler MC18 (Compiler von Microchip) geht das beispielsweise so: 
LATAbits.LATA5 = 1;
Wie das bei deinem Compiler von geht steht in der Hilfe.

Zum Thema PORTx vs. LATx:
Ein weiterer wichtiger Punkt ist zu wissen, wann man mit PORT und wann 
mit LAT abeiten muss. Ganz kurz und knapp:

PORT Bei Eingängen (TRIS=1)
LAT Bei Ausgängen (TRIS=0)

Also: Wenn Sie den Zustand eines Eingang-Pins abfragen möchten, hierzu 
wäre das zugehörige TRIS-Bit auf 1, dann verwenden Sie PORT! Möchten Sie 
aber einen Ausgang setzten oder löschen, hierfür muss das TRIS-Bit 0 
sein, dann benutzen Sie die LAT Register!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren