BITS & Byte magic manipulation (6 / 7 steg)
Steg 6: Bitvis praktiska använder
Som jag har använt några exempel så här:
PORT = PORT & 0001 000
Jag vill visa dig att det finns några saker som kan göras annars, kan i exemplet ovan också skrivas så här:
PORT & = 0001 0000
Detta underlättar när du får veta mer om vad som händer på, men för nu ska jag bara visa dig Stenografien:
OCH - "PORT & = 0101 0101" = "PORT = PORT & 0101 0101"
ELLER - "PORT | = 0101 0101" = "PORT = PORT | 0101 0101"
XOR - "PORT ^ = 0101 0101" = "PORT = PORT ^ 0101 0101"
Några repetitioner:
Här lite:
PORT = PORT | 0001 0000
eller
PORT = PORT | (1 << 4)
eller
PORT | = (1 << 4)
Rensa lite:
PORT = PORT & 1110 1111
eller
PORT = PORT & ~(0001 0000) //"remember inte operatören?"
eller
PORT = PORT & ~ (1 << 4)
eller
PORT & = ~ (1 << 4)
Knäppa lite:
PORT = PORT ^ 0001 0000
eller
PORT = PORT ^ (1 << 4)
eller
PORT ^ = (1 << 4)
Så låt oss nu gå och göra detta mer användbart, ibland behöver vi ställa in mer än en bit i en hamn eller register, varför inte göra det lätt att läsa så här:
PORTB | = (1 << PORTB5) | (1 << PORTB3)
Här vi ställa in pin 5 och 3 på samma gång, fin va? nästan samma sak med clearing dem så här:
PORTB & = ~ ((1 << PORTB5) | (1 << PORTB3))