Hallo, ich bins schon wieder. Und zwar möchte ich Daten aus meinem EEPROM lesen (High Speed Interface Modul V2.5). Dies möchte ich mit der usb2.dll machen. Um mich schlau zu machen bin ich auf die Seite: http://www.braintechnology.de/braintechnology/usb2dll_help17_en.html#Beispiele gegangen. Hier steht unter Beispielen die i2cDemo. Wenn ich jedoch dieses anklicke kommt die Warnung: "Unable to initialize USB Interface. Device not present?" Im Geräte Manager sehe ich aber mein Device mit der VID = 04B4 ; PID = 8613. Es wird der CyUSB treiber verwendet. Auch in der Cypress USB Console wird das Gerät richtig erkannt. Habe ich hier vll. eine alte Version? Ich wollte jetzt eigentlich anfangen ein c++ Programm zu schreiben, welches das EEPROM ausliest. Muss ich da etwas an meiner FW einstellen, damit das reibungslos funktioniert? Habe ich vll. eine alte i2cdemo.exe? Vielen dank schonmal für die tipps. Grüße Thomas
mh... ich hab gerade rausgefunden, dass wenn ich mein altes Programm für den RAM verwende und den alten treiber (ezusbw2k.inf). Dann kann ich mich einmal (µC bleibt hängen) verbinden und Daten aus dem EEPROM lesen. Ansonsten scheitert es schon an der funktion UsbInit(0); Kann es sein, dass etwas mit meinen EP nicht stimmet? der EP0 ist standardmäßig konfiguriert oder?! Kann ich meine DAten über den EP0 lesen oder brauche ich dazu einen extra EP? Wie muss ich den konfigurieren?
ok. Also ich hab gerade eben rausgefunden, das wenn man die usb2dll verwendet, dass diese dann in das RAM geladen wird und das man eben genau dann die befehle verwenden kann z.b. USB_init() EEPROM_read () usw... Jetzt stellt sich für mich die Frage wie komme ich möglichst geschickt an die Daten aus dem EEPROM dran?! Wenn ich eine FW schreiben möchte dann muss ich mir jetzt meine Descriptoren für die EP zusammenbasteln und diese dann von meiner win application ansprechen oder nicht? Wenn ich diese dann anspreche, dann dürfte der Code ausgeführt werden, welcher z.b. in den folgenden ISR stehen würde.
1 | void ISR_Ep1in(void) interrupt 0 |
2 | {
|
3 | }
|
4 | void ISR_Ep1out(void) interrupt 0 |
5 | {
|
6 | }
|
Jetzt stellt sich für mich die Frage wie kann ich von der win seite aus diese EP ansprechen?! Ich würde den Interrupt Transfer modus wählen, da ich daten mit hilfe eines "refresh button's" in meiner application abholen möchte. Ist das alles soweit richtig? Kann mir jmd. vll. einen denkanstoß in die richtige Richtung geben? Vielen Dank schonmal Grüße Tom
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.