Gast
#411544
Ich möchte ein Feld erzeugen mit nur 5 Elementen.
Wenn ich das Programm laufen lasse erzeugt er mir aber ein Feld mit 11
Elementen.
Die Größe des Feldes speichere ich im Datenelement 0 ab.
Hier das Programm:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#include <avr/io.h>
int main(void)
{
UBRRL = 0x33;
UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
int zahlreihe[5] = {1,2,3,4,5}, *zeiger;
zeiger = zahlreihe;
int zger = sizeof(zahlreihe);
*zeiger = zger;
while(1)
{
while (zger >= 0)
{
loop_until_bit_is_set(UCSRA,UDRE);
UDR = *zeiger;
zeiger++;
zger--;
}
}
} // Ende main
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Als Ergebnis erhalte ich in meinem Terminalprogramm folgendes;
15:27:38.72 [RX] - 0A 02 03 04 05 57 04 57 6A 00 00
0A->11 und 11 Elemente werden dargestellt!!!