Hallo ihr,
ich werde einfach nicht schlau. Vielleicht könnt ihr mir weiterhelfen.
Ich habe beim Mikrocontroller CY7C68013A einen Endpoint 8 als IN
definiert und frage ihn als Interrupt ab.
Ich lasse mir vom Mikrocontroller immer was in den Buffer schreiben und
rufe diesen anschließen ab.
Hier der Code
...
TD_Poll(md_uebergabe_poll);
md_uebergabe_poll++;
if (md_uebergabe_poll == 0xFFFF)
{
md_uebergabe_poll=0;
}
...
das mit dem hoch zählen aber ich zur Entschleundigung eingeführt, falls
es dies der Fehler wäre. Aber ohne Erfolg.
hier der Code für die Aufgerufene Funktion
...
if (md_ep8_auffuellen == 0xFFFE)
{
for (md_ep8_fifo_fuellen = 1; md_ep8_fifo_fuellen <= 127;
md_ep8_fifo_fuellen++)
{
EP8FIFOBUF[md_ep8_fifo_fuellen] = md_ep8_fifo_fuellen;
}
SYNCDELAY;
EP8BCH = 0x00;
SYNCDELAY;
EP8BCL = 0xFF;
SYNCDELAY;
}
...
Und das kommt dabei raus, wenn ich den Endpoint 3mal abfrage...
Interrupt IN Transfer
Interrupt IN success.
Buffer Contents
0000 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0010 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0020 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0030 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0040 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0050 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0060 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0070 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0080 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0090 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00A0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00B0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00C0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00D0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00E0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00F0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E
Interrupt IN Transfer
Interrupt IN success.
Buffer Contents
0000 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0010 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0020 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0030 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0040 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0050 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0060 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0070 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0080 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
0090 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
00A0 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
00B0 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
00C0 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
00D0 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
00E0 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10 20
00F0 10 20 10 20 10 20 10 20 10 20 10 20 10 20 10
Interrupt IN Transfer
Interrupt IN success.
Buffer Contents
0000 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0010 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0020 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0030 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0040 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0050 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0060 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0070 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0080 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
0090 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00A0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00B0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00C0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00D0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00E0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F
00F0 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E 7F 7E
_____________________________________________________________
bei der nächsten Abfrage würden wieder die 10 20 10 20 usw. kommen,
dann wieder 7E und 7F usw.
Komisch ist das die 7E und 7F die letzten Werte sind die in den Buffer
geschrieben werden. Wenn ich andere längen nehme und andere Zahlen
eintragen, werden trotzdem die letzten beiden in den Buffer geschrieben
Werte ausgegeben.
Ich hoffe mir kann jemand irgendwelche Tipps geben, die mir weiter
helfen.
Vielen Dank
Gruß
Bustle
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.