USB an PIC18 mit FT232

Gast #1559204
Lesenswert?

Hallo zusammen.
Ich versuch seit ein paar Tagen meine Platine in Betrieb zu nehmen und 
es funzt einfach nicht.
Hatte vor, mit dem UART meines PIC18F4550 über einen FT232BL (FT232RL 
auch schon versucht) Daten an den PC zu senden und es geht einfach 
nicht. Register des USART sollten richtig gesetzt sein (mehrfach von 
verschiedenen Leuten überprüft). Ich bekommen trotzdem in meinen 
Terminalprogrammen immer nur kryptische Zeichen angezeigt.

Bitte um Hilfe, was ich noch alles versuchen kann!!! Bin mit meinem 
Latein am Ende.

mfg
ElSchlicko
Gast #1559238
Lesenswert?

Öhm...ja...schön...ich hab auch Probleme, kann mir jemand helfen?

Was ich damit sagen will: Bitte viel mehr Infos, das bisherige ist viel 
zu wenig. Schaltpläne, Programme oder zumindest Ausschnitte davon werden 
unbedingt nötig sein.
Gast #1559376
Lesenswert?

FT232 hab ich für dieses Projekt nehmen MÜSSEN (war Teil der 
Aufgabenstellung).
Platine vom FT232 hab ich von Prof bekommen, gehe vom PIC nur mit TX und 
RX drauf (funktioniert lt seiner Aussage). Andere Schaltpläne sind im 
Moment nich greifbar.
Am PIC hab ich nenn 20MHz Quarz hängen.

Programmierung:

TRISCbits.TRISC6 = OUTPUT;
TRISCbits.TRISC7 = INPUT;
OpenUSART(  USART_TX_INT_OFF &
        USART_RX_INT_OFF &
        USART_ASYNCH_MODE &
        USART_EIGHT_BIT &
        USART_CONT_RX &
        USART_BRGH_LOW, 31);   //sollten 9600 Baud sein

:
:
WriteUSART('Z');
:
#1559397
Lesenswert?

Die üblichen Verdächtigen:


- Baudrate stimmt? "kryptische Zeichen" bekommt man gern, wenn die 
Baudrate daneben ist

Edit:
> //sollten 9600 Baud sein
Na, ein wenig sicherer solltest du dir schon sein

> Am PIC hab ich nenn 20MHz Quarz hängen.
Kenn das nur vom AVR: Baudrate nicht genau genug wegen dem Quartz?

> gehe vom PIC nur mit TX und RX drauf
Und GND hoffe ich

- RX und TX "über kreuz" angeschlossen? also der "tx" am FTDI ist ein 
Ausgang "vom Computer", der "rx" ein Eingang "zum Computer"

- Störungen in deiner Schaltung, speziell spikes auf vcc und RX/TX?


Ansonsten bietet sich der loopback-Test an: verbinde mal RX und TX vom 
ftdi (aber nicht mit dem Rest der Schaltung)

Dann starte HyperTerminal. Alle Zeichen die du sendest müssen so wieder 
reinkommen. Wenn du RX und TX wieder auseinander machst, dürfen die 
Zeichen nicht wieder reinkommen.
Gast #1559422
Lesenswert?

lt Datenblatt sind es bei diesen Einstellungen 9600Baud @ Fosc=20MHz
Mit dem Quarz das sollte funktionieren, wurde in anderen Projekten auch 
ohne Probleme verwendet.
LoopBack Test hat funktioniert; schickt mir alles gleich retour
Gast #1559499
Lesenswert?

Hab da eine Verständnisfrage: Mein FOSC, mit dem ich Laut Datenblatt 
meine Baudrate berechne, muss schon die Frequenz meines Quarzes sein, 
oder? (X = ((FOSC/Desired Baud Rate)/64) – 1 und daraus aus errechneter 
Baudrate Fehler berechnen)

Mein Gedankengang sieht so aus: Ich schicke asynchron beliebig die Daten 
bei der PIC TX Leitung raus und der FT232 schickt selbstständig die 
Daten rauf. D.h. eigentlich muss ich nur noch die Baudrate am PC 
einstellen und im Terminalprogramm zeigt er mir mein Zeichen an.

Sind meine Gedanken so richtig?!

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