Witam,
Mam takie pytanie. Robiąc dokładnie tak jak Pan Mirek pokazuje w poradniku
https://youtu.be/a0IOBtia8DY?t=124 wszystko kompiluje się bardzo ładnie
![Bardzo szczęśliwy :D](https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif)
. Jak robię zgodnie z notą to nie działa.
Przechodzę do problemu. Otwieram notę z programu MkCLIPSE i znajduję taki fragment kodu (strona 238) dla przesłania ramki w formacie 8N1 :
void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<
UDRE)) )
;
/* Put data into buffer, sends the data */
UDR0 = data;
}
To biorę na "żywciora" i wklejam do MkCLIPS. Tutaj pojawia się problem. Bo rejestr UDRE w dokumentacji nie ma dopisku zero. W poradniku Pan Mirek dopisuje zero i wtedy kompilacja działa. W internecie wyszukałem inną notę
http://www.atmel.com/images/Atmel-8271- ... mplete.pdf strona 177 i tam jest :
/* Wait for empty transmit buffer */
while ( !( UCSR
nA & (1<<UDRE
n)) )
;
/* Put data into buffer, sends the data */
UDR
n = data;
Domyślam się że za literę "n" trzeba dać jakąś cyfrę. Teraz moje pytanie:
1. Dlaczego w nocie która otwiera się z MkCLIPSE nie ma tego zera dla rejestru UDRE, czy w nocie jest może błąd?
2. Czy dobrze myślę ze za te literki trzeba wstawić jakąś cyfrę.
3. Jeśli tak to czy można jakieś inne cyfry niż zero dawać i w jakim zakresie?
4. O czym mówią te literki n.