moin,
ich hab ein problem, und zwar versuche ich einen über adc eingelesenen wert über UART an den pc zu übertragen, das kabel hab ich mir gelötet und es scheint zu funzen, denn es kommt was an, aber nicht das was ich will.
es kommen immer C mit häkchen unten an...

ich benutze das terminal von Bascom.
Einen mega168, programmiert in avr-studio

hier der wichtige code (das mit dem ADC funzt, deswegen hab ichs weggelassen)
Code:
#include <avr/io.h>

int uart_putc(unsigned char d);
void uart_puts (char *s);

void init_uart(void)
{
	UBRR0H = (unsigned char) (103>>8);
	UBRR0L = (unsigned char) 103;
	UCSR0B = (1<<RXEN0) | (1<<TXEN0);

}

int main(void)
{
    	init_uart();

   	uint8_t d = 231;

	while (1)
	{
   		while (!(UCSR0A & (1<<UDRE0))); 		// warten bis Senden moeglich
		UDR0 = d; 								// sende Zeichen
	}

        return 0;
}

int uart_putc(unsigned char d)
{
	while (!(UCSR0A & (1<<UDRE0))); 		/* warten bis Senden moeglich */
	UDR0 = d; 								/* sende Zeichen */
	return 0;
}
							
void uart_puts (char *s)
{
	while (*s)
	{ 							/* so lange *s != '\0' also ungleich dem "String-Endezeichen" */
		uart_putc(*s);
		s++;
	}
}