großes problem bei seriellen übertragung!!
hallo leute!
Ich habe ein großes problem bei der programmierung der seriellen übertragung auf den pc. ich verwende einen atmega32 und als programmiersoftware CodeVisionAVR.
überall im internet bzw. datenblatt finde ich folgendes programm:
void USART_Transmit( )
{
while ( !( UCSRA & (1<<UDRE)) );
UDR = '3';
}
Das problem dabei ist,dass es bei mir nicht funktioniert. Ich kann das UDRE bit so nicht ansprechen. Es ist das fünfte bit im register UCSRA. Bei mir im CodeVision muss ich das bit mit UCSRA.5 ansprechen. Aber auch so funktioniert das nicht.
Vl habt ihr eine Idee wie ich das lösen kann.
ich hab mich damit sehr viel beschäftigt.
und hab es auch so probiert:
void USART_Transmit()
{
while (!(UCSRA & 0x20));
UDR = '3';
}
aber auch so hats nicht geklappt!
wär cool,wenn ihr mit helfen könntet.
glg kati
Liste der Anhänge anzeigen (Anzahl: 1)
Das Problem ist ja, dass i UDRE net einfach so ansprechen kann. UDRE ist ein bit aus dem register UCSRA. i muss des, aber so ansprechen UCSRA.5. weil es das fünfte bit im register ist..
mein code ist hier angehängt...
danke