RS232 mit AT90CAN128 Keine Verbindung
Hallo mal wieder,
ich habe folgendes Problem. Ich bekomme keine Verbindung zum Hyperterminal. Ich hab am Oszi den Tx und Rx Ausgang gemessen und bekomme an einem 0 V und an dem anderen ca. 9V dauernd raus. An den Tx und Rx Ausgängen des Controllers messe ich 5 V dauernd. Ich habe im Forum leider keinen Thread gefunden, der mein Problem lösen konnte.
Zur Hardware: Ich verwende einen AT90CAN128, bei dem ich auf die TX1 und Rx1 gehe (Tx0 und Rx0 ist vom ISP belegt!). Ich programmiere in C mit dem AVRSTudio. Meine Baudrate ist 9600 und ich verwende einen Quarzoszillaotr mit einer Frequenz von 7372800 Hz.
Ich habe die Init aus dem Datenblatt übernommen, werd aber nicht wirklich schlau daraus. Ich habe meinen Code des Headerfile mal angehängt.
Code:
#include <avr/io.h>
#include <util/delay.h>
/*### Senden per USART - RS232-Kommunikation ###*/
void USART1_Init (void)
{
/* Set baud rate */
UBRR1H = 0;
UBRR1L = 47;
/* Set frame format: 8data, no parity & 2 stop bits */
UCSR1C = (0<<UMSEL1) | (0<<UPM1) | (1<<USBS1) | (3<<UCSZ1);
/* Enable receiver and transmitter */
UCSR1B = (1<<RXEN1) | (1<<TXEN1);
}
void USART1_Transmit (unsigned char data)
{
while(!(UCSR1A & (1<<UDRE1)))
{
}
UDR1 = data;
}
void uart_puts(char *s)
{
while(*s)
{
USART1_Transmit(*s);
s++;
}
}
Wäre super wenn mir jemand helfen könnte, ich bin am verzweifeln. ](*,)
LG Anna