Forum: Analoge Elektronik und Schaltungstechnik Pic 18F27J53 problem mit einem Pin


von Helpme91 (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein Problem mit meinem Pic 18F27J53.
Es geht darum, dass ich das Bluetooth Modul (HC-05) in Kombination mit 
meinem Pic verwende.
Das Bluetooth Modul empfängt Signale von einem Handy und übermittelt 
diese an meinen Pic weiter.
Der Pic empfängt Signale sendet aber keine an das Bluetooth Modul 
zurück.
Somit benötige ich die RX - Leitung der Bluetooth Moduls nur zum 
Konfigurieren des Moduls und nicht bei der Steuerung des PIC mit dem 
Handy.
Da ich dadurch den c6 Pin des Pic auch nicht benötige, wollte ich diesen 
für etwas anderes verwenden.

Mein Problem ist, das dieser Pin irgendwie immer auf „High“ geschaltet 
ist und das liegt an dieser Zeile in meinem Programmcode:

#use    rs232(baud=38400, xmit=PIN_c6, rcv=PIN_c7, ERRORS)

Wenn ich nun das "xmit=PIN_c6" aus der Zeile lösche, dann ist der Pin c6 
auch nicht mehr auf High und ich kann in ganz normal verwenden so wie 
ich ihn brauche, aber der Pic reagiert leider nicht mehr auf das was er 
vom Bluetooth Modul übermittelt bekommt.

Wie kann ich das so umändern, dass ich den c6 Pin verwenden kann und der 
Pic trotzdem noch auf die Befehle des Bluetooth Moduls reagiert?


Ich dank euch im Vorhinein!

von Stampede (Gast)


Lesenswert?

welche komische programmiersprache ist das?

von Helpme91 (Gast)


Lesenswert?

MPLAB IDE mit CSS - Compiler, Sprache = C.

von Helpme91 (Gast)


Lesenswert?

Kann mir keiner helfen??

von Chris B. (dekatz)


Lesenswert?

Helpme91 schrieb:
> #use    rs232(baud=38400, xmit=PIN_c6, rcv=PIN_c7, ERRORS)
>
> Wenn ich nun das "xmit=PIN_c6" aus der Zeile lösche, dann ist der Pin c6
> auch nicht mehr auf High und ich kann in ganz normal verwenden so wie
> ich ihn brauche, aber der Pic reagiert leider nicht mehr auf das was er
> vom Bluetooth Modul übermittelt bekommt.

Keine Ahnung was "#use    rs232(baud=38400, xmit=PIN_c6, rcv=PIN_c7, 
ERRORS)" im Hintergrund genau macht, aber offensichtlich wird das EUSART 
Modul von diesem Macro ohne vollständige Parameter gar nicht 
initialisiert, daher auch keine Verbindung auf der RX-Leitung. Mich 
wundert nur das ohne "xmit=PIN_c6" keine Fehlermeldung oder Warnung 
kommt?

Versuche die EUSART-Initialisierung direkt (also ohne diseses vorgegeben 
Makro) mit den entsprechenden Controllerregistern durchzuführen und 
Configuriere dir danach den PORTC.6 für deine Zwecke (der wird von 
EUSART Modul auf Output gestellt).

Keine Ahnung ob das funkteoniert da noch nie probiert.....

von Helpme91 (Gast)


Lesenswert?

Ich möchte den Pin RC6 einfach zum ein und ausschalten einer LED 
verwenden.

Nur wie sage ich das dem Pic, das er Pin RC7 zum empfangen der Daten und 
RC6 zum schalten verwendet?

von Chris B. (dekatz)


Lesenswert?

Helpme91 schrieb:
> Ich möchte den Pin RC6 einfach zum ein und ausschalten einer LED
> verwenden.
>
> Nur wie sage ich das dem Pic, das er Pin RC7 zum empfangen der Daten und
> RC6 zum schalten verwendet?

Dann initialisiere wie gehabt. RC6 wird ohnehin als Output konfiguriert.
Die Leitung RC6 -> RS232-Treiber oder SUB-D Buchse auftrennen und den 
Treibereingang/SUB-D Buchse mit HIGH-Pegel versorgen (über 10K an Plus).
An RC6 eine LED mit Vorwiderstand gegen GND oder Plus.
LED dann mit LATCbits.LATC6 = 1 bzw. 0 schalten ( oder wie das beim CCS 
eben gemacht wird).

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
Noch kein Account? Hier anmelden.