Go Down

Topic: need 4 high bits in 4 ports pins (Read 492 times) previous topic - next topic


i need the 4 high bits of a binary number to set 4 pins on portc , not the four high bits of the port , meaning the four pins i need set are split between the 4 high and four low pins
binary 8 bit 
extract 4 high bits :    testNUmber<<4
PORTC                       7 6 5 4 3 2 1 0
testNUmber                x x x 1 1 1 1 x
these 4 bits need to set or clear these 4 pins
bitwise operations always make me run in circles

would i do something like
PORTC =0b00011110 | (testNUmber<<4);


I cant really test it out right now if not i would run some tests  but im not home.
I could print the Arduino logo on a box of cereal and sell it as "Arduin-O's"


Aug 14, 2013, 04:33 am Last Edit: Aug 14, 2013, 05:23 am by JarkkoL Reason: 1
Code: [Select]

PORTC&=0b11100001; // clear bits 1-4 in the port
PORTC|=(v>>3)&0b00011110; // set bits 1-4 in the port to 4 high bits in v (v=uint8_t)

Also you could do:
Code: [Select]



Do you have to use direct port manipulation?
If not look at doing this

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131