ich glaub ich werd blöd .. ich hab folgenden code
Code:
void USART_Init( unsigned int ubrr)
{
/* Set baud rate */
UBRRH = (unsigned char)(ubrr>>8);
UBRRL = (unsigned char)ubrr;
/* Enable receiver and transmitter */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
}
void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE)) )
;
/* Put data into buffer, sends the data */
UDR = data;
}
void USART_Flush( void )
{
unsigned char dummy;
while ( UCSRA & (1<<RXC) ) dummy = UDR;
}
int main(void)
{
USART_Init(2400);
DDRD = BV(PD2);
while(1)
{
PORTD &= ~BV(PD2);
unsigned int C1,C2;
for (C1 = 0; C1 < 1000; C1++)
{
for (C2 = 0; C2 < 20000; C2++);
}
PORTD |= BV(PD2);
USART_Transmit('A');
//SerWrite("A",1);
for (C1 = 0; C1 < 200; C1++)
{
for (C2 = 0; C2 < 20000; C2++);
}
}
}
und mich nach
https://www.roboternetz.de/wissen/im...ung_max232.gif
bei der beschaltung gerichtet ... trotzdem kommt NIX an ... bin ich zu blöd oder was iss hier falsch ?
PS: Die Pins zählt man doch von oben(da wo die kerbe iss) links nach unten und von rechtsunten nach oben ??? ich hab auch 8bit 2400baud und 2 stoppbits im HT eingestellt ....
EDIT: Max232 PIN13 an die 2 vom PC, 14 an 3 und GND auf die 5 vom PC
11 an PIN3 vom mega8 und 12 an PIN2 vom mega8 und die kondensatoren wie aufm schaltbild
EDIT: wenn der abgebildete stecker 9pol auf 3pol ne BUCHSE ist, liegt pin2 des 3pol auf PIN1 des SUB-D, schau nochmal genau hin das iss irgendwie verdreht!
Lesezeichen