7 program example, 3 alternate port functions, Alternate port – Rainbow Electronics ATtiny10 User Manual
Page 45: Refer to the individual module sectio

45
8127B–AVR–08/09
ATtiny4/5/9/10
10.2.7
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
10.3
Alternate Port Functions
Most port pins have alternate functions in addition to being general digital I/Os. In
Figure 10-6
below is shown how the port pin control signals from the simplified
Figure 10-2 on page 41
can
be overridden by alternate 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
...