Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: stringverarbeitung Kategorie: Programmierung C (von Gela - 27.11.2009 15:51)
Als Antwort auf stringverarbeitung von Valdiz - 21.10.2009 22:09
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> 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: