roboforum.ruТехнический форум по робототехнике. |
|
|
Duhas писал(а):работа уарта несколько глючна в студии, но при установке флага преревания оно обычно происходило.. а вот читать выставленный руками байт данных - увы...
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m164Pdef.inc"
.def tmp =R16
.equ B_HI =0 ;UBRRn=Fosc/(16*BAUD)
.equ B_LO =51 ;Fosc=8MHz, BAUD=9600bps, UBRRn=51
.cseg
.org 0x0000
rjmp Init
Init:
ldi tmp,0b00000010 ;PD0=RxD, PD1=TxD
out DDRD,tmp
ldi tmp,0b00000001
out PORTD,tmp
;USART
ldi tmp,B_LO
sts UBRR0L,tmp
ldi tmp,B_HI
sts UBRR0H,tmp
ldi tmp,(1<<TXEN0)|(1<<RXEN0)
sts UCSR0B,tmp
ldi tmp,0x61
sts UDR0,tmp
Loop:
rjmp Loop
Cosworth писал(а):Вроде разобрался. Может кому понадобится: надо поиграться с параметром Baud Rate настроек терминала, эта величина, почему-то, никак не связана со скоростью, устанавливаемой в контроллере.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0