Техническая Спецификация для Atmel Evaluation Kit for AT32uC3A0512, 32-Bit AVR Microcontroller Atmel ATEVK1105 ATEVK1105

Модели
ATEVK1105
Скачать
Страница из 826
189
AT32UC3A
22.6
Programming Examples
22.6.1
8-bit LED-Chaser
   // Set R0 to GPIO base address
   mov    R0, LO(AVR32_GPIO_BASE_ADDRESS)
   orh    R0, HI(AVR32_GPIO_BASE_ADDRESS)
   // Enable GPIO control of pin 0-8
   mov    R1, 0xFF
   st.w   R0[AVR32_GPIO_GPERS], R1
   // Set initial value of port
   mov    R2, 0x01
   st.w   R0[AVR32_GPIO_OVRS], R2
   // Set up toggle value. Two pins are toggled
   // in each round. The bit that is currently set,
   // and the next bit to be set.
   mov    R2, 0x0303
   orh    R2, 0x0303
loop:
   // Only change 8 LSB
   mov    R3, 0x00FF
   and    R3, R2
   st.w   R0[AVR32_GPIO_OVRT], R3
   rol    R2
   rcall  delay
   rjmp   loop
It is assumed in this example that a subroutine "delay" exists that returns after a given time.
22.6.2
Configuration of USART pins
The example below shows how to configure a peripheral module to control I/O pins. It assumed
in this example that the USART receive pin (RXD) is connected to PC16 and that the USART
transmit pin (TXD) is connected to PC17. For both pins, the USART is peripheral B. In this
example, the state of the GPIO registers is assumed to be unknown. The two USART pins are
therefore first set to be controlled by the GPIO with output drivers disabled. The pins can then be
assured to be tri-stated while changing the Peripheral Mux Registers.
   // Set up pointer to GPIO, PORTC
   mov    R0, LO(AVR32_GPIO_BASE_ADDRESS + PORTC_OFFSET)
   orh    R0, HI(AVR32_GPIO_BASE_ADDRESS + PORTC_OFFSET)
   // Disable output drivers
32058K
AVR32-01/12