Hallo da draußen ich versuche gerade einen ft232bm zum laufen zu bringen. Das Board ist neu und die Hardware auch jedoch ist das Schema (self powered, der Rest ist laut Datasheet) zum anschließen schon öfters verwendet worden und läuft so auch. Ich bin immer davona usgegangen, dass der ft232bm out of the box funktioniert. Leider schaffe ich es nicht den neuen ft232 zum reden zu bringen. Er wird von Windows als USB <-> Serial erkannt und installiert. Leider kommt im Terminal aber nichts an. Daraufhin habe ich die d2xx Treiber installiert und versucht den Chip via MProg zum laufen zu bringen. Leider klappt das nicht. Ich kann nach Bauteilen scannen und finde dann einen unprogrammierten und 0 programmierte. Read&Parse bringt mir dann die Freigabe um unter "Device" meinen Chip auszuwählen. Leider bleiben die Buttons zum Programmieren und Löschen blind. Meine Fragen daher: Muss man den FT232bm eigentlich einmal programmieren, oder läuft der auch out of the box? Sollte Mprog in der Lage sein, diesen Chip zu programmieren? (Wenn ja dann hab ich wohl was verbockt)
Er sollte direkt laufen, und auch schon als COM Port funktionieren. Hast du ein EEPROM dran ?
Nein. EEPROM ist keins dran. Hmm. Dann ist da was schief gelaufen. Die Initialisierung sollte passen:
1 | void uart1_init(void) |
2 | {
|
3 | |
4 | // Baudrate 9600
|
5 | UBRR1L = 103; |
6 | |
7 | // Datenbyte 8
|
8 | UCSR1C |= (1 << UCSZ10); |
9 | UCSR1C |= (1 << UCSZ11); |
10 | // Parity keine
|
11 | UCSR1C &= ~(1 << UPM10); |
12 | UCSR1C &= ~(1 << UPM11); |
13 | // Stoppbit 1
|
14 | UCSR1C &= ~(1 << USBS1); |
15 | // Asynchronous Operation
|
16 | UCSR1C &= ~(1 << UMSEL1); |
17 | UCSR1C &= ~(1 << UCPOL1); |
18 | |
19 | // UCSR1B |= (1 << RXCIE1); // Interrupt enabel für RXC flag
|
20 | UCSR1B |= (1 << RXEN1); // Receive Enable |
21 | UCSR1B |= (1 << TXEN1); // Transmitter Enable |
22 | |
23 | }
|
24 | |
25 | void rs232_puts1 (char *s) |
26 | {
|
27 | while (*s != '\0') |
28 | {
|
29 | while ( !(UCSR1A & (1<<UDRE1))); |
30 | UDR1 = *s; //Zeichen nach Sendedatenregister |
31 | s++; //Adresse erhöhen |
32 | }
|
33 | while ( !(UCSR1A & (1<<UDRE1))); |
34 | UDR1=*s; |
35 | while ( !(UCSR1A & (1<<TXC1))); //Warten bis Senden abgeschlossen |
36 | }
|
> Leider bleiben die Buttons zum Programmieren und Löschen blind.
Wenn ich's noch richtig im Sinn habe, musst du erst auf NEU klicken (das
weisse Blatt Papier), dann sollten die Buttons scharf geschalten werden.
Ralf
Wie soll man auch ein EEPROM Programmieren können, wenn keines dran ist ? Kommt bei Read&Parse nicht gleich ein Fehler oder eine Meldung "EEPROM Read failed" oder sowas in der Art ? MProg dient nur dazu um dieses EEPROM zu programmeren. Du brauchst also nichts damit zu machen. Das EEPROM ist auch nur notwendig, wenn mehrere FT232 an einem PC hängen. Verbinde mal RX und TX am FT232 und sende etwas am PC. Dann sollte das sofort wieder zurückkommen.
Hmm. Habe jetzt RX und TX am Chip verbunden aber wenn ich vom PC was an den Chip sende kommt nichts mehr beim PC an.
> Leider nicht. Die Device ComboBox ist dann scharf. Und wenn man da den Typ auswählt, sollte es eigentlich gehen mit dem Löschen. Aber wenn er ein unprogrammiertes Device findet, ist es eh hinfällig... > Verbinde mal RX und TX am FT232... Stimmt, das könnte auch sein, dass es einfach falsch miteinander verknubbelt ist :) Frei nach dem Motto: Mit einem Draht klappts nicht, und ab zwei kann man verwechseln. Der COM-Port ist auch im Terminal-Programm geöffnet? Hatte auch schon mal ewig nachm Bug in meiner µC-SW gesucht, bis ich drauf kam, dass ich keinen Port geöffnet hatte :) Ralf
Ralf wrote: >> Leider nicht. Die Device ComboBox ist dann scharf. > Und wenn man da den Typ auswählt, sollte es eigentlich gehen mit dem > Löschen. > Aber wenn er ein unprogrammiertes Device findet, ist es eh hinfällig... > >> Verbinde mal RX und TX am FT232... > > Stimmt, das könnte auch sein, dass es einfach falsch miteinander > verknubbelt ist :) Frei nach dem Motto: Mit einem Draht klappts nicht, > und ab zwei kann man verwechseln. > Der COM-Port ist auch im Terminal-Programm geöffnet? Hatte auch schon > mal ewig nachm Bug in meiner µC-SW gesucht, bis ich drauf kam, dass ich > keinen Port geöffnet hatte :) > > Ralf Also die Senderoutine funktioniert mit nem MAX232 super und mit nem anderen USB Board auch. ComPort ist offen :) Und auch der richtige. Anschlüße passen auch. Woran das wohl liegen kann?
CTS aktiviert ? Richtiger COM Port ausgewählt ? Ansonsten musst du irgendwas falsch gemacht haben. Wenn der FT232 erkannt wird und sich der COM Port öffnen lässt, dann muss er auch was senden/empfangen.
Also ich hab mal die Treiber gecheckt und bei beiden Platinen sind die selben installiert. Das eine Board funktioniert wunderbar, das andere garnicht, nicht mal mit RX und TX verbunden. Komisch komisch. CTF hab ich deaktiviert aber aktiviert wirds auch nicht besser. :( Ich werd mal ein paar Minuten Multimetern...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.