Kurz Frage zu µC-Pinprogrammierung

OP #1774596
Lesenswert?

Hallo Forumsmember!

kurze Fragen...es handelt sich um einen PIC18FXX2.

1)
clear_bit(portc,0);
set_bit(portc,0);

Hier wird doch Port c angesprochen, aber welcher Pin, RC0? Bzw. was 
macht genau clear_bit und set_bit?

2) Was macht im Gegenzug

portc.0=1;

Hier wird wird wohl auch Port c angesprochen, aber welcher Pin, RC0? 
Bzw. was macht portc.0=1 genau?

THXalot
jey
#1774598
Lesenswert?

Jey Soon schrieb:

> Hier wird doch Port c angesprochen, aber welcher Pin, RC0? Bzw. was
> macht genau clear_bit und set_bit?

> Hier wird wird wohl auch Port c angesprochen, aber welcher Pin, RC0?
> Bzw. was macht portc.0=1 genau?


Ich denke mal:
Wenn du jetzt einfach mal ratest, wirst du nicht allzufalsch liegen.

Eigentlich ist es für einen Homo Sapiens IMHO gar nicht so einfach, beim 
Raten was wohl

  clear_bit(portc,0);

machen wird, mit einer falsch geratenen Lösung hoch zu kommen.
OP #1774639
Lesenswert?

ok, also die Frage zielte eig. auf folgendes ab:

in dem mir vorliegen code wird einmal

clear_bit(portc,0);

verwendet. Ich dachte (bisher) das hier einfach RC0 auf 0 gesetzt wird. 
Ich dachte also das das ",0" in (portc,0) für den angesprochenen Pin 
steht. Bzw. bei

set_bit(portc,0);

RC0 auf 1 gesetzt wird. Ist das falsch oder richtig?!

Also was macht den nun genau die Funktion clear_bit() und set_bit();

Dann habe ich mich verschrieben. Weiter unten im Code heisst es dann:

porta.4=1;
portc.1=1;

Jetzt ist für mich einfach die Frage: ".4" ist damit der Pin von Porta 
gemeint oder wie?! Wenn meine Annahme oben nämlich richtig ist, würde 
ich eher schreiben:

(porta,4)=1;

sry ich steh da einfach gerade aufm Schlauch. Muss nen Code verstehen, 
den ich a) nicht selber geschrieben habe und b) hab ich bisher noch 
nichts mit PIC's bzw. µC zu tun gehabt ;)

Also thx for RE
#1774685
Lesenswert?

Jey Soon schrieb:

> ich eher schreiben:
>
> (porta,4)=1;
>
> sry ich steh da einfach gerade aufm Schlauch. Muss nen Code verstehen,
> den ich a) nicht selber geschrieben habe und b) hab ich bisher noch
> nichts mit PIC's bzw. µC zu tun gehabt ;)

Und du hast
c) auch noch nichts mit C zu tun gehabt.

Konzeptionell ist

set_bit( portc, 0 );

ein Funktionsaufruf.
Der Funktion set_bit
werden die Argumente 'portc' und '0' übergeben.

Nicht die Kombination "portc,0" bezeichnet das 0-te Bit am Port C, 
sondern das sind 2 Argumente an eine Funktion oder ein Makro, die das 
Bit mit der Bitnummer im 2-ten Argument in dem im ersten angegebenen 
Argument (also im portc) löscht.
#1774758
Lesenswert?

Jey Soon schrieb:

> Ein Ja oder Nein würde mir schon genügen. Danke!

Na was wird das schon machen?
Solche Sachen hat man deutlich schneller ausprobiert (mit einem eigenen 
Testprogram) als sie in einem Forum nachgefragt.

Das ist ungefähr so, wie wenn du ein Autogetriebe bauen willst und dann 
in einem Forum nachfrägst, ob man Schrauben im Uhrzeiger oder gegen den 
Uhrzeiger festschraubt.
(Nur um dir mal den Schwierigkeitsgrad deiner Fragen vor Augen zu 
führen. Viele hier fragen sich wahrscheinlich längst, wie du eigentlich 
jemals µC programmieren willst, wenn es bei diesen Basisdingen schon 
happert)

Und nein. Letzteres ist nicht Standard-C sondern, sofern du das wirklich 
so schreiben kannst, eine Erweiterung deines Compilers.

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