Hallo katiiiiii

Dein code lauft bei mir ohne Problehmen in ein Atema8L (in ein ASURO Roboter) 2400 baud (UBRRL=0xCF stat 0x33).

Vielleicht sollte

1.
void USART_Transmit()
geanderd werden in
void USART_Transmit(void)
2.
void main(void)
in
int main(void)
3.
return 0;
als letzte im main()
4.
UDRE statt UCSRA.5
5.
ein prototype von USART_Transmit() zugefugt werden.

Probier mahl dieses Program (ohne etwas zu zufugen)



Code:
#include <mega32.h>

//function prototype declaration
void USART_Transmit(void);

void USART_Transmit(void)
{
	while ( !( UCSRA & (1<<UDRE)) ); 
	UDR = 3;
}


int main(void)
{
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;


while (1)
      {
  
        
    	USART_Transmit();
      
      };

return 0;

}

bin gespannt

Gruss

Henk