logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega16 - Przepisanie wartości bitu w bajcie w "C"

witko1 25 Gru 2013 15:10 1287 2
REKLAMA
  • #1 13097365
    witko1
    Poziom 9  
    Witam

    Mam mały problem.
    Od niedawna uczę się języka C dla AVR. Do tej pory wszystkie programy pisałem w BASCOMIE. Teraz chcę stopniowo przestać go używać.

    Potrzebuję przepisać wartość jednego bitu z bajtu do drugiego bajtu.
    Przykładowo w Bascomie to wygląda tak:

    Zmienna.1 = Nic.3

    Załóżmy, że "Nic" ma wartość binarną 01010101, a na początku "Zmienna" miała wartość 11111111. Patrząc na tą prostą formułkę powyżej, "Zmienna" ma teraz wartość 11111101.

    Jak takie coś zapisać w C?

    Pozdrawiam
  • REKLAMA
  • #2 13097384
    tadzik85
    Poziom 38  
    temp = nic & 1<<3;
    zmienna = (zmienna & ~(1<<1)) | temp>>(3-1);

    A jak poczytasz o uniach i strukturach to możesz uzyskać zapis podobno do bascomowego.
  • #3 13097901
    excray
    Poziom 41  
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA