Gast
#447629
Servus Leute! Häng jetzt den ganzen Vormittag vor meinem STK500 mit ATMEGA8515 und avr-gcc v4.1. Probleme gibts bei folgendem: int main( void ) { // initialization init_USART(); u08 led, i; DDRB=0xff; /* use all pins on PortB for output */ led=1; char text1[5]; do { //hier a bisserl LED-blabla USART_Transmit(1); strcpy(text1,"hal"); USART_Transmit(text1[0]);_delay_ms(10); USART_Transmit(text1[1]);_delay_ms(10); USART_Transmit(text1[2]);_delay_ms(10); // ohne strcpy --> funktioniert text1[0]='H';text1[1]='A';text1[2]='L';text1[3]=0; USART_Transmit(text1[0]);_delay_ms(10); USART_Transmit(text1[1]);_delay_ms(10); USART_Transmit(text1[2]);_delay_ms(10); USART_Transmit(30);_delay_ms(10); USART_Transmit(62);_delay_ms(10); } while(1); } Ziel ist es eigentlich nur einen "hal" nach text1 zu kopieren und das auf der USART auszugeben. Wenn ich das mit strcpy(text1,"hal"); mache kann ich nur 3x 0xff empfangen. Das zweite mal mit der "manuellen Zuweisung" klappts und ich kann "HAL" empfangen. 30 und 62 und 1 wird auch korrekt übertragen. Warum funktioniert die strcpy()-Funktion nicht? Mit #include "/usr/avr/include/string.h" hab ich die String.h eingebunden. Hoffentlich fällt euch was ein, Danke schon mal, Sebi