Forum: Mikrocontroller und Digitale Elektronik EEPROM mit usb2dll lesen/schreiben FX2


von Tom A. (thomas_a)


Lesenswert?

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

von Tom A. (thomas_a)


Lesenswert?

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?

von Tom A. (thomas_a)


Lesenswert?

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
Noch kein Account? Hier anmelden.