Datasheet

63
ATtiny828 [DATASHEET]
8371A–AVR–08/12
10.2.6 Program Example
The following code example shows how to set port B pin 0 high, pin 1 low, and define the port pins from 2 to 3 as input
with a pull-up assigned to port pin 2. The resulting pin values are read back again, but as previously discussed, a nop
instruction is included to be able to read back the value recently assigned to some of the pins.
Note: See “Code Examples” on page 7.
10.3 Alternative Port Functions
Most port pins have alternative functions in addition to being general digital I/Os. In Figure 25 below is shown how the
port pin control signals from the simplified Figure 22 on page 60 can be overridden by alternative functions.
Assembly Code Example
; Define pull-ups and set outputs high
; Define directions for port pins
ldi r16,(1<<PUEB2)
ldi r17,(1<<PB0)
ldi r18,(1<<DDB1)|(1<<DDB0)
out PUEB,r16
out PORTB,r17
out DDRB,r18
; Insert nop for synchronization
nop
; Read port pins
in r16,PINB