Hallo die Herren, Ich versuche gerade ein Array zu initialisieren. Leider klappt dies nicht wie gewünscht. Anbei der Code
1 | // Variablendeklaration
|
2 | unsigned int k = 0; |
3 | unsigned int BufferSize = 300; |
4 | unsigned int zeiger = 0; |
5 | unsigned char Ringbuffer[BufferSize]; |
6 | |
7 | |
8 | // Alle Werte im Array auf 0 setzten (eigentlich überflüssig da: unsigned char Ringbuffer[BufferSize]; dies ja schon machen sollte)
|
9 | |
10 | for (k=0;k<=BufferSize-1;k++) |
11 | {
|
12 | Ringbuffer[k]=0; |
13 | printf("\n\rLösche Ringbuffer[%u]:",k) ; |
14 | delay_ms (10); |
15 | }
|
16 | |
17 | // Ausgabe über RS232
|
18 | |
19 | do
|
20 | {
|
21 | printf("\n\rRingbuffer[%u]:%u",zeiger ,Ringbuffer[zeiger]) ; |
22 | |
23 | if(zeiger>=BufferSize-1) |
24 | {
|
25 | zeiger = 0; |
26 | }
|
27 | else
|
28 | {
|
29 | zeiger++; |
30 | }
|
31 | }
|
32 | while(1); |
Nun lese ich aber leider immer folgendes aus: // Erster Durchlauf Ringbuffer[2]:0 Ringbuffer[3]:0 Ringbuffer[4]:4 Ringbuffer[5]:0 Ringbuffer[6]:0 Ringbuffer[7]:0 Ringbuffer[8]:0 Ringbuffer[9]:0 Ringbuffer[10]:0 Ringbuffer[11]:0 Ringbuffer[12]:0 Ringbuffer[13]:0 Ringbuffer[14]:51 Ringbuffer[15]:93 Ringbuffer[16]:93 Ringbuffer[17]:93 Ringbuffer[18]:93 Ringbuffer[19]:93 Ringbuffer[20]:93 Ringbuffer[21]:93 Ringbuffer[22]:0 Ringbuffer[23]:0 Ringbuffer[24]:0 Ringbuffer[25]:0 Ringbuffer[26]:0 // 2ter Druchlauf Ringbuffer[2]:0 Ringbuffer[3]:0 Ringbuffer[4]:4 Ringbuffer[5]:0 Ringbuffer[6]:0 Ringbuffer[7]:0 Ringbuffer[8]:0 Ringbuffer[9]:0 Ringbuffer[10]:0 Ringbuffer[11]:0 Ringbuffer[12]:0 Ringbuffer[13]:0 Ringbuffer[14]:58 Ringbuffer[15]:53 Ringbuffer[16]:53 Ringbuffer[17]:53 Ringbuffer[18]:53 Ringbuffer[19]:53 Ringbuffer[20]:53 Ringbuffer[21]:53 Ringbuffer[22]:0 Ringbuffer[23]:0 Ringbuffer[24]:0 Ringbuffer[25]:0 Ringbuffer[26]:0 // 3er Druchlauf Ringbuffer[2]:0 Ringbuffer[3]:0 Ringbuffer[4]:4 Ringbuffer[5]:0 Ringbuffer[6]:0 Ringbuffer[7]:0 Ringbuffer[8]:0 Ringbuffer[9]:0 Ringbuffer[10]:0 Ringbuffer[11]:0 Ringbuffer[12]:0 Ringbuffer[13]:0 Ringbuffer[14]:101 Ringbuffer[15]:49 Ringbuffer[16]:57 Ringbuffer[17]:55 Ringbuffer[18]:53 Ringbuffer[19]:51 Ringbuffer[20]:49 Ringbuffer[21]:57 Ringbuffer[22]:0 Ringbuffer[23]:0 Ringbuffer[24]:0 Ringbuffer[25]:0 Ringbuffer[26]:0 usw. Was mache ich den hier bitte falsch??? Ich verwende einen ATmega32 und programmiere mit CodeVision Danke für alle Tipps mfg Patrick