Hallo Leute Ich will an meinem Pic(16f913) mit dem "eingang" (RA0) den "ausgang" (RB2) ansteuern. Aber er funktioniert nicht ?
Chris schrieb: > Aber er funktioniert nicht ? Da weißt du mehr als ich. Sorry - Glaskugel ist zur Rekalibrierung.
was für eine tolle, nachvollziehbare und aussagefähige Fehler-/Problembeschreibung...
Justus S. schrieb: > was für eine tolle, nachvollziehbare und aussagefähige > Fehler-/Problembeschreibung... Ich wollte euch nicht voll stopfen! x) Nein ich hoffe du kannst mir helfen. ich habe eine Fernbedienung, mit dem ich den fuss RA0 auf HIGH (5V) schalten kann. Dann habe ich am fuss RB2 ein LED der einfach leuchten soll fals der fuss RA0 auf HIGH geht.! es nimmt mich wunder wie ich das initialisieren muess. da die PORTA = ..... TRISA = ..... ANSEL = ..... und was halt auch noch so dazu kommt ?
Chris schrieb: > Aber er funktioniert nicht ? Zeig mal deinen Code und beschreibe was nicht funktioniert.
Max H. schrieb: > Chris schrieb: >> Aber er funktioniert nicht ? > Zeig mal deinen Code und beschreibe was nicht funktioniert.
Chris schrieb: > Fals ich etwasschalte (auf der Fernbedienung) habe ich am PIC die 5V. Aber ich kann die LED nicht ansteuertn ?? ich verstehe nicht wiso ?
Stefan schrieb: > Ports auf digital geschaltet ? Ou nein.! Wie mach ich das aber ? Kannst du mir bitte einen bsp. machen. Habe einen Blackout !! schon die ganze zeittt am TESTEn eh!
Der Ausgang wird auf 1 gesetzt, sobald der Eingang das erste Mal 1 wird. Aber nie zurück auf 0.
Lattice User schrieb: > Der Ausgang wird auf 1 gesetzt, sobald der Eingang das erste Mal 1 > wird. > Aber nie zurück auf 0. Das wäre schön ! ich kann schalten und tun was ich will die LED leuchtet nicht. (aber sie funktioniert wenn ich die LED "alleine" anspreche leuchtet sie) aber ich kann ihr keine zuweisung -/ anweisungen geben sie schaltet nicht um so. !
Chris schrieb: > Lattice User schrieb: >> Der Ausgang wird auf 1 gesetzt, sobald der Eingang das erste Mal 1 >> wird. >> Aber nie zurück auf 0. > > Das wäre schön ! ich kann schalten und tun was ich will die LED leuchtet > nicht. (aber sie funktioniert wenn ich die LED "alleine" anspreche > leuchtet sie) aber ich kann ihr keine zuweisung -/ anweisungen geben sie > schaltet nicht um so. ! Wenn du deinen Code nicht als .jpg gepostet hättest, hätte ich die fehlerhafte Zeile zitieren können.
Chris schrieb: > Das wäre schön ! Wenn der Ausgang immer auf 1 bleibt, dann wäre das schön? Na ich weiß ja nicht... Mir an deiner Stelle wäre es lieber, wenn er auch wieder auf 0 geht, wenn der Eingang auf 0 geht.
Chris schrieb: > Max H. schrieb: hauptsache einen fortschritt. es klappt nicht. kannst du mir villeicht einen bsp. mache was ich falsch schreibe ? ich komme nicht drauf das ist mein Probelm.! die elektronik stimmt das geht. aber bei der Initialisierung habe ich das gefühl stimmt etwas nicht.
Chris schrieb: > Habe einen Blackout !! schon die ganze zeittt am TESTEn eh! Dann geh eine halbe Stunde an die frische Luft. Dir ist inzwischen bestimmt genauso komisch wie mir, nachdem ich diese JPG-Gematsche angeguckt habe. Was ist an den Hinweisen beim Upload so schwer zu verstehen? Und steht da irgendetwas von Quellcode bei der Liste der Graphikinhalte? Warum wohl? Chris schrieb: > 12334.JPG
Lattice User schrieb: > Chris schrieb: >> Lattice User schrieb: >>> Der Ausgang wird auf 1 gesetzt, sobald der Eingang das erste Mal 1 >>> wird. >>> Aber nie zurück auf 0. >> >> Das wäre schön ! ich kann schalten und tun was ich will die LED leuchtet >> nicht. (aber sie funktioniert wenn ich die LED "alleine" anspreche >> leuchtet sie) aber ich kann ihr keine zuweisung -/ anweisungen geben sie >> schaltet nicht um so. ! > > Wenn du deinen Code nicht als .jpg gepostet hättest, hätte ich die > fehlerhafte Zeile zitieren können. PORTAbits.RAO = 0; TRISAbits.TRISA0=1; PORTBbits.RB3=0; TRISBbits.TRISB3=0; while(1){ if (PORTAbits.RA0 ==1) PORTBbits.RB3 =1; } wie spreche ich dies an dass sie digitale inputs sind??
Chris schrieb: > wie spreche ich dies an dass sie digitale inputs sind?? Über's ANSEL Register. P.S: Für C-Code bitte in Zukunft die Formatierung verwenden
1 | [c][/c] |
:
Bearbeitet durch User
Probiers damit - ich habe mir jetzt nicht die jedes einzelne Bit jedes der Register angeschaut - auch habe ich die Namen der Register vom Assembler uebernommen (koennen in C eventuell geringfugig anders lauten.... CMCON0 = 0b11111111; // alle Pins digital I/O ANSEL = 0; // alle Pins digital I/O TRISA = 0b11111111; // alle Pins digital Inputs
Chris schrieb: > Habe einen Blackout !! schon die ganze zeittt am TESTEn eh! Bei einem Blackout hilft 1. Ablenkung 2. Für PIC-Freunde die allererste Adresse: [http://www.sprut.de/index.htm] Da kannst Du 100%ig noch was lernen! 3. Informieren: Anfängerfallen bei der Programmentwicklung [http://www.sprut.de/electronic/pic/fallen/fallen.html] mfG GroberKlotz
1 | while(1){ |
2 | PORTBbits.RB3 = PORTAbits.RA0; |
3 | }
|
Die Init mußt Du aber selber machen, dazu mußt Du ins Datenblatt des Pic16f913 schauen.
Toxic schrieb: > Probiers damit - ich habe mir jetzt nicht die jedes einzelne Bit > jedes > der > Register angeschaut - auch habe ich die Namen der Register vom Assembler > uebernommen (koennen in C eventuell geringfugig anders lauten.... > > CMCON0 = 0b11111111; // alle Pins digital I/O > ANSEL = 0; // alle Pins digital I/O > TRISA = 0b11111111; // alle Pins digital Inputs Das ist gut.!! danke. muss ich Probieren.! MUss ich dann alle meine ports von A als digital input erstellen! kann ich das so erstellen mit ansel ? :)
Justus S. schrieb: > was für eine tolle, nachvollziehbare und aussagefähige > Fehler-/Problembeschreibung... Die beste seit Jahren.
Chris schrieb: > MUss ich dann alle meine ports von A als digital input erstellen! kann > ich das so erstellen mit ansel ? :) Laut Datenblatt kann man die entsprechenden Pins (RA0,RA1,RA2,RA3 und RA5) individuell konfigurieren.Beachte:RA4 kann nicht als analoger Eingang verwendet werden. Alle Pins an PortA,die als analoge Eingaenge konfiguriert werden koennen,also RA0,RA1,RA2,RA3 und RA5 werden bei einem Reset automatisch auf analog gesetzt - deswegen muss man dann anschliessend PortA neu konfigurieren,wenn man auch digitale I/Os haben moechte. Hier ein Beispiel: CMCON0 = 0bxxxxx111; // die ersten 3 bits deaktivieren das Komparatormodul // welches ja auch Analogfunktionen aufweisst... // Dann lassen sich mit ANSEL RA0,RA1,RA2,RA3 & RA5 // individuell als analoge oder digitale Eingaenge // konfigurieren ANSEL = 0bxxx10001; // RA0 & RA5 sind analog - RA1,RA2,RA3 sind digi-I/O // Beachte,dass RA5 den analogen Kanal AN4 uebernimmt TRISA = 0b10100101; // RA1,RA3,RA4,RA5,RA6 = digiOutput // RA2,RA7 = digiInput // RA0,RA5 = analogInput Ich hoffe mir ist kein Fehler unterlaufen....schon ziemlich spaet am Abend... =========================================== Im uebrigen kannst Du Peter D's code uebernehmen Peter D. schrieb: > Die Init mußt Du aber selber machen, dazu mußt Du ins Datenblatt des > Pic16f913 schauen.
Danke füt deine hilfe Toxic !!!!!!! Wirklich das ist das was ich gesucht habe..!!
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.