Hi, ich habe folgenden eientlich recht simplen Code, mit dem ich auf meinem ATTiny Daten vom USB empfange:
1 | static uchar keyData[DATA_LENGTH+4]; |
2 | |
3 | uchar usbFunctionWrite(uchar *data, uchar len) |
4 | {
|
5 | uchar i; |
6 | |
7 | if (bytesRemainingW == 0) return 1; /* end of transfer */ |
8 | if (len > bytesRemainingW) len = bytesRemainingW; |
9 | // for (i=0; i<len; i++) keyData[currentAddressW+i]=data[i];
|
10 | currentAddressW += len; |
11 | bytesRemainingW -= len; |
12 | if (bytesRemainingW==0) |
13 | {
|
14 | return 1; |
15 | }
|
16 | return 0; |
17 | }
|
Sobald ich die auskommentierte Zeile reinnehme, wird mein USB-Gerät nicht mehr erkannt. Scheinbar schreibe ich da über den gültigen Bereich von keyData hinaus. Allerdings: wieso? Ich sehe das Problem echt nicht...