Hallo, Ich habe hier einen FT232RL und möchte die Description ändern. Dazu lese ich mittels FT_EE_Read(ftHandle, ftData); die Daten aus dem EEPROM. Dann ändere ich die Discription und schicke mit FT_EE_Program(ftHandle,&ftdata); alles wieder an den EEPROM. Dabei kommt als Status 6 also: FT_INVALID_PARAMETER. Kann mir da wer weiterhelfen? FT_EE_ProgramEx habe ich auch schon versucht Verwende Labwindows/CVI als Compiler. glg Stefan
Hallo Stefan, das problem kommt mir sehr bekannt vor. Wollte am FTDI nur die CBUS Konfigurationsbits ändern und er hat mir auch immer INVALID_PARAMETER zurückgegeben. also die einfache methode wäre einfach MProg von FTDI zu nehmen. damit gehts auf jeden fall. ist aber so gesehen nicht die ultimative lösung. als erstes solltest du prüfen ob die dll die du verwendest mit der installierten treiberversion übereinstimmt, da sich die rückgabewerte da schon unterscheiden können. der fehler hat mich zumindest eine ganze weile aufgehalten. als zweites solltest du vorm neu programmieren mal versuchen den eeprom komplett zu löschen. is natürlich nich so ganz risikofrei. aber no rist - no fun. könnte durchaus sein dass man erst alle werte auf 0xff(also gelöscht) setzen muss bevor man sie wieder ändern kann. zumindest kenn ich das von diversen controllern dass sich bits nur von HIGH auf LOW ziehen lassen aber nich umgekehrt. falls das auch nich geht oder du das nich probieren willst besteht natürlich noch die möglichkeit dass es n reines treiberproblem is. dann hilft nur mit FTClean alle FTDI treiber zu deinstalliern und den treiber dann neu zu installieren. Bedenke aber dass dann jeder FTDI seinen treiber wieder installiert haben will. könnte also unter umständen ganz schön in arbeit ausarten. Hoffe ich konnte dir helfen metaljack
Morgen, Danke für deine Antwort. den eeprom habe ich schon mal gelöscht und dann einen neuen Chip eingelötet, ein besch**ene Arbeit, werde ich nicht mehr machen ;-) Habe aus der am Rechner liegenden DLL eine neu lib erzeugt, hat nix gebracht.
Hallo, ich habe das gleich Problem und wollte deshalb nachfragen, ob es hierzu schon eine Lösung gibt. Der Knackpunkt dürfte die Zeigervariable am Ende der Struktur sein. typedef struct ft_program_data { ..... } FT_PROGRAM_DATA, *PFT_PROGRAM_DATA; Vielleicht liegt es aber auch an einer Einstellung von Lab Windows CVI 2009. Tom
Hallo noch mal ich gebe mir die Antwort selbst. Vielleicht kann ich damit jemandem helfen. Es ist wichtig, das die Signatur stimmt bevor FT_EE_ProgramEx oder FT_EE_Program durchgeführt wird. void ChangeDevPro() { FT_PROGRAM_DATA eeData = pData; ftStatus = FT_Open(0,&ftHandle); // Open device if(ftStatus == FT_OK) // Success { eeData.Signature1=0x00000000, // Header - must be 0x00000000 eeData.Signature2=0xFFFFFFFF, // Header - must be 0xffffffff ftStatus=FT_EE_ProgramEx(ftHandle, &eeData, "SI", "FT", "USB","01"); //ftStatus=FT_EE_Program(ftHandle, &eeData); //Funktioniert auch!!! if (ftStatus == FT_OK) { // OK } else { // Not OK } } else { // Not OK } FT_Close(ftHandle); }
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.