FT232R höchstes Bit gesetzt.

OP #4688113
Lesenswert?
• ▲
▼
Hallo, ich habe ein seltsames Problem.

Also ich habe hier einen FT232R, der bekommt vom PC Daten und gibt die 
über den UART aus. Ein FPGA empfängt die dann und gibt die unter anderem 
auf LEDs aus, also das empfangene Byte.
Jetzt übergebe ich dem FT232R vom PC einmal das Byte mit einem 
Terminalprogramm (Realterm) und einmal mit einem selbst in C 
geschriebenen Programm. Dort verwende ich das D2XX von FTDI.

Es ist nun so, schalte ich das Board ein so leuchtet keine LED, das soll 
ja auch so sein.
Jetzt schicke ich vom PC aus mit meinem C programm ein beliebiges Byte. 
Und dann ist das höchstwertige Bit gesetzt und bleibt auch gesetzt egal 
welche weiteren Bytes ich schicke.
Wenn ich aber mit dem Terminalprogramm ein Byte übertrage wird es 
korrekt auf den LEDs angezeigt.
Aber:
Wenn ich zuerst mit dem C Programm ein Byte geschickt habe und dann das 
höchstwertige Bit gesetzt ist und ich dann mit dem Terminalprogramm ein 
Byte < 128 schicke, ist das höchstwertige Bit korrekterweise nichtmehr 
gesetzt. Übertrage ich danach wieder beliebige Bytes mit meinem C 
Programm werden diese immer korrekt angezeigt.

Mir sieht das wie irgendeine seltsame Startbedingung aus die sich aber 
auflöst sobald ich mit dem Terminalprogramm ein Byte (ein beliebiges) 
sende. Wenn ich gleich nach dem Einschalten ein Byte mit dem 
Terminalprogramm sende tritt das Problem erst gar nicht auf.

Unterschiedliche Baudraten habe ich schon getestet ...

Code vom C Programm:
1
unsigned char TX[1]={0x00};
2
.
3
.
4
.
5
TX[0]=(char)bytewert;
6
ftStatus = FT_Open(DevNumber, &FT232R_ftHandle);
7
ftStatus = FT_SetBaudRate(FT232R_ftHandle, 9600);
8
ftStatus = FT_Write(FT232R_ftHandle, TX, 1, &BytesWritten);

Edit:
Verdammt, wie es aussieht hab ich es gefunden:
1
ftStatus = FT_SetDataCharacteristics(FT232R_ftHandle, FT_BITS_8, FT_STOP_BITS_1, FT_PARITY_NONE);
hab ich eingefügt und jetzt geht es. Dachte das wäre der Default ... 
hoffentlich war das wirklich die Lösung.
OP #4690275
Lesenswert?
• ▲
▼
Hallo,
danke, ja das PDF kenne ich schon, habe mir aber bislang immer nur die 
Funktionen rausgenommen von denen ich dachte, dass ich sie bräuchte :-D

Und im Minimalbeispiel dort zum FT_Write, also der Datenausgabe über den 
UART kommt ein FT_SetDataCharacteristics nicht vor ...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.