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