 Mike_MA » 06 окт 2005, 17:17
 Mike_MA » 06 окт 2005, 17:17 
			
			Вот например кусок из проги для ATmega162, кусок инициализации УАППа: 
"
; инициализация последовательного интефейса USART0
;USART Control and Status Register B ? UCSRB 
; 11111000 - full (0xF8)
; 10010000 - only receiver on (0x90)
; 
	sts UART_bin_Flags_H,r0
	sts UART_bin_Flags_L,r0
	ldi r16,UBRR_num_L ; 
	out UBRR0L,r16 	; записываем значение в регистр счётчика
	ldi r17,UBRR_num_H ; 
	ldi r18,0x8E
	out UBRR0H,r17 	; записываем значение в регистр счётчика
	out UCSR0C,r18
	ldi r16,0x90		; записываем в регистр байт вкл приёмника
	out UCSR0B,r16		; записываем в регистр управления
	nop
	nop
;----------------------------------------------------
"
Единственное отличие этого контроллера от меги16 - два УАППа. Но пара регистров UBRR0H, UCSR0C находится по одному и тому же адресу.
Проверять в AVR Studio что записано в любом из этих регистров через отладчик - бесполезное занятие. Нужно проверять только на живом контроллере и без точек останова на командах чтения/записи этих регистров.