Hallo,
ich habe mich jetzt länger mit diversen Tutorials und dem Datenblatt des ATMega8 beschäftigt, und will ein Zeichen über USART an den PC senden, leider geht der Code nicht:
Code:
#include <avr/io.h>

void init_usart(void)
{
 UCSRB |= (1<<RXEN) | (1<<TXEN);
 
 UBRRL |= 0b01100111;
 UCSRC |= (1<<URSEL);
 UCSRC |= (1<<UCSZ1) | (1<<UCSZ0);
 
}

void main(void)
{
 unsigned int i;
 i = 0;
 init_usart;
 DDRB = 0xFF;
 PORTB = 0b00000001;  //Nur zur Kontrolle
 do
 {
  while (!(UCSRA & (1<<UDRE))) {}
   UDR = 'C';
 } while (i != 0);  
}
Einstellungen am Hyperterminal:
Parität: Keine
Baudrate: 9600
Stopbits: 1

Es kommt einfach nichts im Hyperterminal an, die Hardware geht, da Bascom-Basic Programme funktioneren.

Ich hoffe ihr könnt mir helfen
Gruß
Spurius