Forum: Compiler & IDEs FTDI USB mit Msp430


von Marcel Kania (Gast)


Lesenswert?

Hallo,

ich habe den DLP-USB245M an einen msp430f149 angeschlossen.
Senden und Empfangen funktioniert auch. Allerdings sind die Datenraten
sehr bescheiden (4kB/s von msp->pc) und würde sie gerne erhöhen.
Mein Programm ist vom Ablauf wie folgt:

..
init()                   //set direction of P3 and P5 (in/out)

P5OUT = c;               //the char we want to send

while ((P3IN&0x04)>=1);  //wait until TXE# is low (when high,
                         //buffer is full)

P3OUT &= 0xfd;           //set WR to low for start sending

Wenn ich nicht irre, wird das Byte nach Laden in den tansmit buffer
direkt verchickt, oder? Kann ich den transmit buffer nicht erst richtig
voll machen (besser ausnutzen), bevor gesendet wird? Hab bisher noch
nichts dazu gefunden.

Vielleicht kann mir ja jmd. helfen. Vielen Dank und Gruß, Marcel

von Bertolt Mildner (Gast)


Lesenswert?

>Wenn ich nicht irre, wird das Byte nach Laden in den tansmit buffer
>direkt verchickt, oder? Kann ich den transmit buffer nicht erst
>richtig voll machen (besser ausnutzen), bevor gesendet wird? Hab
>bisher noch nichts dazu gefunden.

Nein, die Daten werden nicht sofort verschickt. Das ist IMHO auch gar
nicht möglich da bei USB, Datentransfers immer über den Host-Controller
initiert werden müssen.

Also so wie ich es verstehe sieht es beim FT245BM so aus:

1.) der FT245BM wird alle n ms abgefragt ob er Daten loswerden möchte.

2.) werden Daten in den FT245BM geschrieben werden diese nicht
zwingend bei nächster Gelegenheit (= nach max n ms) verschickt sondern
erst wenn genügend Daten vorliegen bzw. nach ablauf eines Timeouts.

3.) sollen Daten bei nächster Gelegenheit versendet werden kann man das
über den SI Pin signalisieren.

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.