Имеется Atmega8 подключенный к компьютеру по UART(Переходник UART-USB 100% работает, т.к (Брал у друга) Atmega8 все отлично передает без ошибок)
Atmega8 (Собрал сам) каторый работает на кварце 7,3728 МГц и 2 Конденсатора 22пФ (Все по даташиту)
Прошил фьюзы:
avrdude.exe -p m8 -c ftbb -P ft0 -B 4800 -U hfuse:w:154:m -U lfuse:w:228:m -U lock:w:63:m
После чего, залил прошивку на CodeVisionAVR:
Предварительно в настройках проекта указал частоту 7,3728 МГц
------------------------------------------------------------------
#include <mega8.h>
#include <delay.h>
void initUART()
{
//8 бит данных, 1 стоп бит, без контроля четности
UCSRC = ( 1 << URSEL ) | ( 1 << UCSZ1 ) | ( 1 << UCSZ0 );
//разрешить прием и передачу данных
UCSRB = ( 1 << TXEN ) | ( 1 <<RXEN )|(1<<RXCIE);
UBRRH=0;
UBRRL=47; // Передача на 9600 бит/сек
}
void uart_putc( char c )
{
//ждем окончания передачи предыдущего байта
while( ( UCSRA & ( 1 << UDRE ) ) == 0 );
UDR = c;
}
void main(void){
DDRD=0b00100000; // Просто статусный светодиод, показывающий работу МК
PORTD=0b00100000; //
initUART();
delay_ms(500);
PORTD=0b00000000;
while(1)
{
delay_ms(500);
PORTD=0b00000000;
uart_putc('A'); // Отправка символа.
delay_ms(500);
PORTD=0b00100000;
}
}
------------------------------------------------------------------
Все перепробовал, но присылает совсем не то, другой символ по номеру 161, причем все время,
если
char i;
for(i=0;i<251;i++){
uart_putc('A');
}
Приходят символы с 150-151-152...-224-225; Что то подобное.
Что может быть? помогите пожалуйста!
(До этого, я работал с UART на другом Atmega8, все отлично принималось и передавалось, без ошибок)

