- Wed Apr 29, 2020 10:19 am
#42539
You need to set DDRB to xxxxx11 to set PB0 and PB1 to outputs. The safe way to do that is to use an OR function so:
To drive the ouputs you should perform a read/modify/write on PORTB, you could write B0000001 but you overwrite all the bits with 0s. If you aren't using the other pins then it is valid but poor practice.
Code: Select all
That way any other bits remain in their existing state, that makes the code more portable.DDRB= DDRB | 0x03;
To drive the ouputs you should perform a read/modify/write on PORTB, you could write B0000001 but you overwrite all the bits with 0s. If you aren't using the other pins then it is valid but poor practice.
Code: Select all
uint8_t temp;
temp = PORTB;
temp = temp & 0xFC; // clear bits 1,0
temp = temp | 0x01; // set bit0
PORTB = temp; // write modified value to B.