so gehts mit dem Debuggen:
Code:
//-------------------------------------------------------
int uart_putchar(char c)
{
if (c == '\n')
uart_putchar('\r');
loop_until_bit_is_set(UCSRA, UDRE);
UDR = c;
return 0;
}
int main(void)
{
fdevopen(uart_putchar, NULL, 0); // 4 debugging -> use printf :-)
UCSRA = 0x00; // Control und Status Register
UCSRB |= (1 << TXEN) // TXEN=TX an
UCSRC |= (1 << USBS) | (3 << UCSZ0); // asyncron 8N1->Handbuch
UBRRH = 0;
UBRRL = 51; // 103 für 9600 || 51 für 19200 || 25 für 38400 || 16 für 57,6k || 12 für 76,8 || 8 für 115,2 - alles bezogen auf 16 MHz
// und dann der Test
printf("hallo pc");
// oder so:
UDR = 'x';
return(0);
}
Das müßte so tun
Lesezeichen