#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
void USARTInit() {
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART0 Mode: Asynchronous
// USART Baud Rate: 9600
UCSR0A=(0<<RXC0) | (0<<TXC0) | (0<<UDRE0) | (0<<FE0) | (0<<DOR0) | (0<<UPE0) | (0<<U2X0) | (0<<MPCM0);
UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) | (1<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80);
UCSR0C=(0<<UMSEL01) | (0<<UMSEL00) | (0<<UPM01) | (0<<UPM00) | (0<<USBS0) | (1<<UCSZ01) | (1<<UCSZ00) | (0<<UCPOL0);
UBRR0H=0x00;
UBRR0L=0x33;
}
void USARTWriteChar(char data) { // blocking
while(!(UCSR0A & (1<<UDRE0))) {}
UDR0=data;
}
int main(void)
{
USARTInit();
while(1)
{
USARTWriteChar(0x45);
_delay_ms(50);
}
}
Почему так получается? Что это в терминале?
Код написан в Atmel Studio 7