Я пытаюсь связаться с UART, чтобы отобразить букву A, но мой код не останавливается? - PullRequest
1 голос
/ 11 октября 2019

Я пытаюсь отобразить A на симуляторе TERA TERM, но когда я запускаю свой код на ATMEL STUDIO 7, код не останавливается.

Это мой код ниже, я запускаю программу на симуляторедоступно на Atmel Studio 7, и я считаю, что я правильно настраиваю UART

#include <avr/io.h>

void configureUART(void);
void sendUART(unsigned char);

int main(void)
{
configureUART();

sendUART('A');
}

void sendUART(unsigned char transmitByte)
{
    while ((UCSRA & (1 << UDRE))== 0);
    // Data register is ready, transmit out the byte.
    UDR = transmitByte;
}

void configureUART()
{
    //Baud Rate Config 9600 => 0x4D
    UBRRH = 0x00;
    UBRRL = 0x4D;

    //Need to use UCSRC Register w/ asynchronous op. and 1 stop bit w/ 8 data bits
    UCSRC = (1 << URSEL) | (0 << USBS) | (1 << UCSZ0) | (1 << UCSZ0) ;
    //Transmit and Receive
    UCSRB = (1 << RXEN) | (1 << TXEN); 
}
...