UART FT232R Problem am PC!

Gast #3310336
Lesenswert?

Hallo Forum,

ich versuche gerade Daten von meinem Nios über Uart zum PC zu senden.

Die Daten auf dem Uart scheinen zu stimmen. Wenn ich mit nem LA 
draufschau passt es. Und wenn ich mit einem Buspirate und Teraterm den 
Uart Monitor dort anschmeiße sehe ich auch meine Daten.

Wenn ich nun aber versuche über so ein China FT232R Breakout Board die 
Daten zu empfangen seh ich nichts.

Vielleicht mach ich auch etwas falsch.

Ich starte Teraterm und connecte mich mit dem Com Port den mein Breakout 
Board erstellt hat.

Mit den entsprechenden Einstellungen.COM6 9600 8 none 1 none.

Und dann passiert nichts mehr. Es wird nichts angezeigt. Einfach nur der 
Cursor.

Wenn ich es mit Matlab Versuche passiert auch nichts.

Was mache ich denn falsch?
Muss ich noch irgendwas eingeben?


Achja senden tu ich so:
1
void ANT_SEND(float Height_UNN,float Temperature)
2
{
3
  unsigned char i;
4
  unsigned char  txBuffer[32];
5
  unsigned char  txBufferSize=0;
6
  unsigned char BUFFER[32]={0};
7

8
sprintf(BUFFER,"%.1f%.1f",Temperature,Height_UNN);
9
txBufferSize  = strlen(BUFFER)+0;  // message plus sync, size and checksum
10
//txBuffer[0]  = 0xa4;  // sync byte
11
//txBuffer[1]  = (unsigned char) strlen(BUFFER) - 1;  // message size - command size (1)
12
//txBuffer[2] = 0x4e;
13
for(i=0; i<strlen(BUFFER); i++)
14
    txBuffer[0+i] = BUFFER[i];
15

16
// calculate the checksum
17
//for(i=0; i<txBufferSize - 1; ++i)
18
//txBuffer[txBufferSize - 1] = txBuffer[txBufferSize - 1] ^ txBuffer[i];
19

20

21

22
uart = fopen("/dev/UART", "r+");
23
  if(uart)
24
  {
25
    for(i = 0 ; i < txBufferSize ; i++)
26
         {
27
        putc(txBuffer[i],uart);
28
         }
29
    }
30
  fclose(uart);
31
}

Bzw. hat jemand mal einen Matlab Code der mir einfach nur den UART 
einließt?
#3310367
Lesenswert?

So nun angemeldet.

TX und RX über kreuz an die entsprechenden GPIO Pins des DE2 und GND an 
GND.

Die Uart wird ohne CTS/RTS betrieben.

Die RX Led der Breakoutboards leuchtet immer ganz wenig und immer wenn 
was gesendet wird vom DE2 (alle 5s einmal den Buffer) blinkt diese 
einmal Hell auf. Scheint somit bis dahin zu funktionieren.
#3310399
Lesenswert?

Ja mit dem BusPirate geht es ja.

Aber mit dem FT232 Breakoutboard wird nichts angezeigt.

Muss ich da noch irgendwas machen damit ich die Daten sehen kann?
Oder wie gibt denn so ein FTDI die Daten aus?


Bzw. funktioniert der BusPirate wie ein LA und decodiert die Daten noch 
zusätzlich??


Irgendwie raffe ich es nicht. Ich dachte wenn die Daten so am Bus 
auszulesen sind müsste mir das Breakout Board einfach die Daten so in 
TeraTerm auswerfen.



Ahhh hab den Unterschied gefunden:

Live UART monitor

UART>(2)<<<macro 2, UART monitor
Raw UART input. Space to exit.
UART>

The UART monitor macro (2) shows a live display of UART input as raw 
byte values without any type of formatting. Press any key to exit the 
live monitor. This mode works best with a terminal that can display raw 
byte values in a variety of formats.

This macro is like the transparent UART macro (1) but without 
transmission abilities, and it can be exited with a key press. It’s 
useful for monitoring high-speed UART input that causes buffer overrun 
errors in other modes.


Damit geht es. Wenn es ein normaler UART->USB ist (auch mit dem 
BusPirate möglich) geht es nicht.
Was muss ich ändern? Stimmt etwas bei meinen Daten nicht die gesendet 
werden? Bzw. wie diese gesendet werden?



Mein Breakout Board hat leider nur CTS herausgeführt. Aber wenn ich 
Empfangen will mit Flow Control brauche ich ja RTS.. Ich hab so das 
Gefühl das ist eigentlich nur zum Senden an einen Arduino gedacht nicht 
zum Empfangen...
Persönliche Seite #3310496
Lesenswert?

Die Handshakeleitungen sind uninteressant, solange Du im 
Terminalprogramm das Hardwarehandshake deaktivierst. Nur GND, TX und RX 
müssen verbunden werden.

TX und RX musst Du gegebenenfalls vertauschen.


Bei Screenshots ist es übrigens sinnvoll, nur die Dinge von Relevanz zu 
kopieren. Mit gedrückter Alt-Taste landet nur das gerade aktive Fenster 
in der Zwischenablage.
#3312164
Lesenswert?

Hm, kann mir hier keiner helfen? Hat keiner eine Idee?

Ein Buffer overflow am FT232R kann es nicht sein. Laut Datenblatt hat 
der einen Reciver Buffer von irgendwas 2XX Byte...

Könnte mir höchstens vorstellen, dass es zu schnell hintereinander 
gesendet wird. Wobei der Chip ja viel höhere Baud Raten mitmacht.

Also wo liegt mein Fehler?

Oder ist der Chip kaputt?

Wobei ja den BusPirate als direkte Bridge auch nicht funktioniert.

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