adus
Guest
Tue Nov 09, 2004 7:49 pm
Cześć,
Mam problem z ATmega128
odpalam komunikację i potrzebuję ustawić szybkość standardową 9600, N, 1STOP
ldi A, 0b00100000
out UCSR0A, A
ldi A, 0b11011000
out UCSR0B, A
ldi A, 0b00001110
out UCSR0C, A <---- tu się wysypuje
ldi A, 23 ;9600 7,3728 MHz
out UBRR0L, A
clr A
out UBRR0H, A <----- tu się wysypuje
Dlaczego?
Przecież są to normalne rejstry, które sa w opisie.
Nie używam trybu kompatybilności z ATmega103
A no i jeszcze nie mam bladego pojęcia dlaczego używając emulatora poprzez
JTAG (JTAGICE mkII) nie mogę odczytać czasu wykonywanych kolejno
instrukcji. Po przełączeniu w tryb emulacji bez sprzętu czas się pokazuje.
Arek Karas
Guest
Tue Nov 09, 2004 8:01 pm
Użytkownik "adus" <adus@myslenice.pl.eu.org> napisał w wiadomoci
news:cmr76k$8ai$1@nemesis.news.tpi.pl...
Quote:
Cześć,
Mam problem z ATmega128
odpalam komunikację i potrzebuję ustawić szybkość standardową 9600, N,
1STOP
ldi A, 0b00100000
out UCSR0A, A
ldi A, 0b11011000
out UCSR0B, A
ldi A, 0b00001110
out UCSR0C, A <---- tu się wysypuje
UCSR0C nie jest przypadkiem w "extended I/O space" ?
Jesli tak, to trzeba:
std UCSR0C,A
Zobacz do pdf-a.
Quote:
ldi A, 23 ;9600 7,3728 MHz
out UBRR0L, A
clr A
out UBRR0H, A <----- tu się wysypuje
I tu to samo.
Quote:
Dlaczego?
Przecież są to normalne rejstry, które sa w opisie.
Nie używam trybu kompatybilności z ATmega103
A no i jeszcze nie mam bladego pojęcia dlaczego używając emulatora poprzez
JTAG (JTAGICE mkII) nie mogę odczytać czasu wykonywanych kolejno
instrukcji. Po przełączeniu w tryb emulacji bez sprzętu czas się pokazuje.
Bo JTAG nie ma takiej mozliwosci.
Aby mierzyc czasy trzeba by miec sprzetowy emulator.
JTAG nie jest emulatorem, jest to tylko interfejs do "wnetrza" procesora,
pozwalajacy ustawiac pulapki i odczytywac/zapisaywac rejestry i pamiec.
Pozdr
AK