Port-ansprechen

Gast #4270464
Lesenswert?

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 ?
Gast #4270573
Lesenswert?

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. !
Gast #4270577
Lesenswert?

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.
Gast #4270584
Lesenswert?

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.
Gast #4270586
Lesenswert?

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
Gast #4270588
Lesenswert?

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??
Gast #4270605
Lesenswert?

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
Angehängte Dateien:
Gast #4271015
Lesenswert?

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 ? :)
Gast #4271093
Lesenswert?

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.

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