Schleife um Buffer zu füllen

Gast #6996802
Lesenswert?

Hallo,
ich würde gerne einen Buffer mit abwechseln 1en und 0en füllen.

Geschrieben habe ich:

for (int i = 0; i<100;i+=2)
{
    buffer[i] = 0b11111111;
    fuffer[i+=1] = 0b00000000;
}

Ist das so richtig oder wo ist mein Fehler? Möchte das der Buffer immer 
weiter 1 und 0 im Wechsel ausgibt.
Gast #6996820
Lesenswert?

Hans schrieb:
> ich würde gerne einen Buffer mit abwechseln 1en und 0en füllen.

Byteweise gesehen oder bitweise gesehen? Bitweise wäre 0b01010101 als 
Wert für jedes Byte im Buffer, Byteweise wäre wiederholt 0b00000000 
gefolgt von 0b00000001 (bzw 0b11111111, dann wäre es aber abwechselnd 0 
und 255).
Der Ansatz hier sieht nach Byteweise aus, aber ich will nochmal sicher 
gehen. Wie ist denn die konkrete Fragestellung? (klingt sehr nach 
Hausaufgaben)


Die offensichtlichsten Fehler wären dass die Variable einmal buffer und 
einmal fuffer heißt und beim fuffer mit i+=1 indiziert wird, was den 
Wert von i verändert und an der Stelle höchstwahrscheinlich ungewollt 
ist.
Beitrag #6996883 wurde von einem Moderator gelöscht.
#6996886
Lesenswert?

Hans schrieb:
> Geschrieben habe ich:
>
> for (int i = 0; i<100;i+=2)
> {
>     buffer[i] = 0b11111111;
>     fuffer[i+=1] = 0b00000000;
> }
1
uint8_t buffer[100];
2
uint16_t *ptr;
3

4
ptr = (uint16_t *)buffer;
5

6
for (int i=0; i<50; i++)
7
{
8
   *ptr = 0x00FF;
9
   ptr++;
10
}

Auf einem 8-Bit System würde ich es jedoch einzeln befüllen.
Fehler wurden dir ja bereits aufgezeigt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren