www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit FT232R im CBUS Bit Bang Mode


Autor: Bernhard84 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich betreibe einen FT232R unter Windows XP mit Combined Driver und ich 
will den CBUS Bit Bang Mode verwenden.

mein Code schaut folgendermaßen aus:

    ftStatus=my_FT_Open(0,&ftHandle);
    if(ftStatus==FT_OK)
    {
      printf("Device opened\n");
//      ftStatus=my_FT_ResetDevice(ftHandle);
//      if(ftStatus==FT_OK) printf("Device Reseted\n");
      ftStatus=my_FT_GetBitMode(ftHandle,&a);
      if(ftStatus==FT_OK) printf("Device GetBit 0x%02X\n",a);
      for(i=0;i<20;i++)
      {
        a=i|0xF0;
        printf("a=0x%02X; i=%i : ",a,i);
        ftStatus=my_FT_SetBitMode(ftHandle,a,0x20);
        if(ftStatus==FT_OK) printf("Device setBit 0x%02X (i=%i, 
ftHanlde=%i)\n",a,i,(int)ftHandle);
        else printf("Error: ftStatus %i 
(i=%i;a=0x%02X,ftHandle=%i)\n",(int)ftStatus,i,a,(int)ftHandle);
        Sleep(1000);
      }
      ftStatus=my_FT_Close(ftHandle);
      if(ftStatus==FT_OK) printf("Device closed\n");
    }

und mein Ergebnis is:
Device opened
Device GetBit 0xF7
a=0xF0; i=0 : Device setBit 0xF0 (i=0, ftHanlde=9969840)
a=0xF1; i=1 : Device setBit 0xF1 (i=1, ftHanlde=9969840)
a=0xF2; i=2 : Device setBit 0xF2 (i=2, ftHanlde=9969840)
a=0xF3; i=3 : Device setBit 0xF3 (i=3, ftHanlde=9969840)
a=0xF4; i=4 : Device setBit 0xF4 (i=4, ftHanlde=9969840)
a=0xF5; i=5 : Device setBit 0xF5 (i=5, ftHanlde=9969840)
a=0xF6; i=6 : Device setBit 0xF6 (i=6, ftHanlde=9969840)
a=0xF7; i=7 : Device setBit 0x00 (i=9969840, ftHanlde=9969840)
Device closed

was geht da schief?

Danke
Bernhard

Autor: Bernhard84 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir niemand helfen?
Hat schon jemand den CBUS Bit Bang Mode verwendet? sind da irgendwelche 
Probleme aufgetreten?

Danke
Bernhard

Autor: Bernhard84 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich bin jetzt selber ein bisschen weiter gekommen.
Es scheint ein Problem mit der Einbindung der dll zu sein.
Ich benutze den MinGW als compiler und leider habe ich mit DLLs noch 
nicht so viel Erfahrung.
Wenn ich den Fehler gefunden habe, berichte ich davon.

Bernhard

Autor: NochEinGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
vielleicht gibt das folgende Buch was her:
http://www.b-redemann.de/buchinhalt.shtml
Dort wird auch der CBUS besprochen.

J.

Autor: Bernhard84 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Link.

aber ich habe das Problem jetzt gelöst.
Auslöser war eigene Dummheit.
Da ich noch nie was mit DLLs gemacht hab, hab ich da auf irgendwelche 
Internet-Code-Beispiele vertraut. Und die schlagen vor, dass man die 
DLLs dynamisch mit LoadLibrary lädt.
Das hat dann auch erst mal hingehaun, nur irgendwie halt dann doch nicht 
so ganz. Ich habe wohl irgendwas falsch konfiguriert und somit hat mir 
irgendwas irgendwelche Variablen überschrieben und mein programm 
stürtzte ab.
Die Lösung war Verwendung von statischen DLLs.
die kann man sehr einfach einbinden, wenn man die entsprechende *.lib 
hat. dann muss man nur noch die *.h ins programm includieren und mit 
folgendem befehl kompilieren:
  gcc usbtest.cpp ftd2xx.lib -o usbtest -Wall

Vielleicht hilft es ja jemanden weiter.

um die dynamischen DLLs kümmere ich mich ein anderes mal ;-)

Bernhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.