Dobrý den,<br><br>Zrovna krokuji v AVR studiu práci s USART. Mám procesor Atmega16 který má stejnou adresu pro registr UBBRH a UCSRC.<br>Zápis se rozlišuje pomocí nejvyššího bitu(URSEL), pokud je v jedničce, zapíše se do UCSRC.<br>
<br>Ovšem v AVR studiu 4.15 při krokování i při zápisu Avrstudio hlásí že v UCSRC je nula.<br><br>UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);<br><br> překladač kód přeloží takto:<br><br>UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0); //8 data,1stop bit<br>
400: 8e e8 ldi r24, 0x8E ; 142<br> 402: 80 bd out 0x20, r24 ; 32<br><br>Z datasheetu je jasné že pro čtení se musí číst 2x, při prvním čtení se přečte UBBRH.<br><br>Mohu se na AVR studio spolehnout? Na Atmega 128 mi program jel a zde ne, a takto se špatně hledají chyby....<br>
<br>Děkuji,<br><br>Zdeněk<br>