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
Lesezeichen