Forum: Compiler & IDEs uart_getC und FTDI232


von kaplan (Gast)


Lesenswert?

Hallo,

ich benutze einen FTDI der mir Daten an meinen PC sendet (erfolgreich 
getestet).

Ich möchte zusätzlich Daten vom PC zum FTDI bzw meinem uC senden per 
D2XX.
Scheinbar sendet er erfolgreich (benutze beispiel der FTDI Seite) aber 
mein uC empfängt nicht.

ich hab testhalber eine Schleife erzeugt:
PC sendet einen String.
uC liest mit uart_getc ein Zeichen
uC schickt mit uart_putc Zeichen zurück.
PC empfängt Zeichen (ausgabe auf console)

Leider empfängt der PC nichts. immer nu 0x00;

uC code

unsigned int pc_request=0x0000;
1
while (1) {
2
  pc_request = uart_getc();
3
    if( pc_request != UART_NO_DATA )
4
    {       
5
       while( pc_request != UART_NO_DATA )
6
       {
7
          uart_putc(0xAA);
8
          pc_request = uart_getc();         
9
       }
10
  }
11
  uart_putc(pc_request);  
12
}

das problem: ich bin mir nicht sicher ob der string vom PC wirklich 
(korrekt)versendet wird. ich hab keine ahnung wie ich das testen soll. 
dieser versuch hier solte eigentlich einer sein, bislang ohne erfolg.

muss man irgendetwas noch zusätzlich beachten beim empfangen auf UART am 
uC mit FTDI?

von Hans-jürgen H. (hjherbert) Benutzerseite


Lesenswert?

Fehlt da irgendwo die Initalisierung der UART?

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Allgemeines_zum_UART

Die CPU-Frequenz muss auf +- 3% genau bekannt sein.

Vielleicht hilft es, das empfangene Byte auf einem Port (PortC) 
auszugeben, um zu entscheiden, ob der Receiver nicht geht oder der 
Transmitter nicht geht.

von kaplan (Gast)


Lesenswert?

initialisierung ist da. Die richtung uC => PC funktioniert ja 
einwandfrei. nur umgekehrt kommt scheinbar nix an.

aber das mit dem port kann ich mal ausprobieren... aber mein Code ist 
wirklich simpel und sollte schon funktionieren

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.