hallo zusammen,
habe wieder mal ein problem.
versuche gerade einen text über UART an meinen pc zu senden. leider kommt nichts an und der pegel von tx bleibt auf -8,3V stehn.
der µC ist ein Atmega32.
das programm habe ich irgendwo im forum gefunden:
Code:
// AVR-Includes
#include <avr/io.h>
// Defines
#define F_CPU 4000000 // Hier die Taktfrequenz in Hz eingeben
#define UART_BAUD_RATE 9600 // Hier die gewünschte Baudrate
#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16L)-1)
// Funktionen
// -=> UART initialisieren <=-
void UART_init(void){
UBRRL |= (uint8_t) UART_BAUD_SELECT;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
}
// -=> Byte Transmit <=-
void UART_transmit(uint8_t c){
while(!(UCSRA & (1<<UDRE)));
UDR = c;
}
// -=> String Transmit <=-
void UART_transmit_string(uint8_t *string){
while(!(UCSRA & (1<<UDRE)));
while( *string){ UART_transmit (*string++); }
}
int main (void)
{
UART_init(); // UART-Init Funktion ausführen
while(1)
{
UART_transmit_string("Test");
waitms(500);
}
}
wäre super wenn mir jemand helfen könnte, steh gerade auf den schlauch!
viele grüße
Manu
Lesezeichen