ATtiny2313 + USART

Od wczoraj próbuje uruchomic USART na tiny2313.

Obwód standard tiny<->max232<->PC

Fuse bity ustawione na zegar 4MHz

CLKPR = 0x80; CLKPR = 0x00; unsigned int baud = 25; UBRRH = (unsigned char)(baud>>8); UBRRL = (unsigned char)baud; UCSRB = (1<<TXEN); UCSRC = (0<<USBS)|(3<<UCSZ0);

przy takim ustawieniu otrzymuje same smieci (a na Hyperterm to nawet sieci nie wyskakuja)

początkowo myślalem że to max nawalil ale gdy ustawię CLKPR = 0x02; (a w zasadzie gdy zachowam ustawienie wprowadzone przez CKDIV8 - bo ten fuse tez jest ustawiony - jesli dobrze liczo to daje oscylator 0,5 MHz) i zapodam predkosc 1200 to otrzymuje powiedzmy 50% bajtow dobrych, reszta to smieci (bez jakieś widoczej reguły kilka bajtow OK klika zepsutych, raz mniej raz wiecej). Rzecz o tyle ciekawa ze gdy ustawie 1200 dla 4MHz (bez dzielnika) to klapa. Wnioskuje stad ze nie jest winny max (bo w takim przypadku powinienem dostac smieci zawsze przy 1200 niezaleznie od oscylatora).

Za kalibracje oscylatora nie chce sie brac (choc nie wydaje mi sie zeby cos pomogla), chce uniknac kwarcu zewnetrznego.

Wydaje mi sie ze moglem zapomniec o jakim rejestrze czy bicie, ale nic mi do glowy nie przychodzi a po przeczytaniu wiekszej czesci DataSheet też nic mi w oko nie wpadlo.

pozdrawiam

slocum

Reply to
slocum
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.