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
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.
Das stimmt so nicht (portc.0=1;) 0 ist nie 1 und daher stürzt das Programm ab! Wo hast du das her?
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
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.
ok...thx weiter: porta.4=1; setzt den 4.Pin RC4 von Port_a auf high, richtig oder falsch?
Schonmal was von Debuggern gehört? Ein Datenblatt zu lesen hat bisher auch noch keinem geschadet.
ne Antwort auf ne normale Frage zu geben, kann auch nicht schaden ;) jetzt zu erklären warum ich hier Frage und warum mir das DB und der Debugger gerade nicht weiter helfen, verschwendet Zeit die ich nicht habe... Ein Ja oder Nein würde mir schon genügen. Danke!
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.
Jey Soon schrieb: > porta.4=1; > > setzt den 4.Pin RC4 von Port_a auf high, richtig oder falsch? RA4, nicht RC4 aber du sagst ja selbst es ist Port A. mf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.