Re: stringverarbeitung Kategorie: Programmierung C (von Gela - 27.11.2009 15:51) | ||
Als Antwort auf stringverarbeitung von Valdiz - 21.10.2009 22:09 | ||
| ||
> Hallo, > ich sende und empfange mit dem UART einen String. > Der empfangenen String ist ca. 50 Zeichen lang. > Interessieren tun mich aus den gesamten String aber nur > wenige Zeichen, in Code unten sind es von i=5 bis i<=9. > Aus diesen Zeichen möchte ich einen neuen String bauen, den ich weiter > bearbeiten soll. > Und genau das funktioniert nicht! > > Gru� > Valdiz > > > byte buffer_0[250]; > byte buffer_1[250]; > void main(void) > { int i; > i=0; > byte count; > char antwort; > char antwort_str[50]; > char antwort_copy[50]; > > Serial_Init_IRQ(0,buffer_0,120,120,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600); > Serial_Init_IRQ(1,buffer_1,120,120,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD9600); > > // status > char send_status[10]; > char status[10]; > status="nabcdr"; > status[1]=27; > status[2]=64; > status[3]=53; > status[4]=59; > > while(true) > { > Str_Printf(send_status,"%s",status); > Serial_WriteText(1,send_status);AbsDelay(1000); > do > { > antwort=Serial_ReadExt(1); > Str_Fill(antwort_str,antwort,1); > count=Serial_IRQ_Info(1,RS232_FIFO_RECV); > if(count!=0) > Serial_WriteText(0,antwort_str); > > } > while(antwort); > for(i=5;i<=9;i++) > { Str_Copy(antwort_copy,antwort_str,STR_APPEND); > Serial_WriteText(0,antwort_copy); } > }} > > Hallo Valdiz, probier doch mal das ganze mit einem nullzeichen ' ' (oder 0x00) am ende der strings (z. B. status[5]=0). gru� gela | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum