Кто может объяснить такое явление? в чем проблема? в неправильной настройке UART или может с преобразователем USB-TTL что-то не то?
CODE
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
void send_char(char data)
{
while(!(UCSRA & (1<<UDRE)));
UDR = data;
}
int main(void)
{
/*PORTB на выход*/
DDRB = 0xFF;
PORTB = 0x00;
/*настройка UART*/
UBRRL = 0x33; //0x33 - Baud Rate = 9600 (при fosc = 8MHz)
UCSRB = 0b00011000; //бит4 - RXEN, бит3 - TXEN
UCSRC = 0b10000110; //бит7 - URSEL (Register Select: если 1 то UCSRC), бит2,1 - UCSZ1,UCSZ0 (формат кадра)
PORTB |= (1<<PORTB2);
while(1)
{
PORTB ^= (1<<PORTB2);
PORTB ^= (1<<PORTB3);
send_char('A');
_delay_ms(500);
}
}
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
void send_char(char data)
{
while(!(UCSRA & (1<<UDRE)));
UDR = data;
}
int main(void)
{
/*PORTB на выход*/
DDRB = 0xFF;
PORTB = 0x00;
/*настройка UART*/
UBRRL = 0x33; //0x33 - Baud Rate = 9600 (при fosc = 8MHz)
UCSRB = 0b00011000; //бит4 - RXEN, бит3 - TXEN
UCSRC = 0b10000110; //бит7 - URSEL (Register Select: если 1 то UCSRC), бит2,1 - UCSZ1,UCSZ0 (формат кадра)
PORTB |= (1<<PORTB2);
while(1)
{
PORTB ^= (1<<PORTB2);
PORTB ^= (1<<PORTB3);
send_char('A');
_delay_ms(500);
}
}