ft232 Programmierung notwendig?

OP #857723
Lesenswert?
• ▲
▼
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)
OP #857743
Lesenswert?
• ▲
▼
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
}
Gast #857744
Lesenswert?
• ▲
▼
> 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
#857770
Lesenswert?
• ▲
▼
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.
Gast #857795
Lesenswert?
• ▲
▼
> 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
OP #857799
Lesenswert?
• ▲
▼
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?
OP #857811
Lesenswert?
• ▲
▼
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...

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.