Hallo
es sollte auch folgendes funktionieren bei der Stringverarbeitung:
Code:
char puffer[10];
char *zeiger_auf_puffer = puffer;

int main (void)
{
#define LEN_STR_1 3
   char teil_str_1 [LEN_STR_1 + 1];  // 3 Byte langer String + \0

#define LEN_STR_2 7
   char teil_str_1 [LEN_STR_2 + 1];  // 7 Byte langer String + \0

   for (;;)
   {
      while (!flagvonderISR)
         ;

      zeiger_auf_puffer = puffer;
      teil_str_1 = strncpy (zeiger_auf_puffer, LEN_STR_1);
      teil_str_1 [LEN_STR_1] = '\0';  // String in C abschliessen

      zeiger_auf_puffer += LEN_STR_1;  /* JA, die Vorgaengerlaenge */
      teil_str_2 = strncpy (zeiger_auf_puffer, LEN_STR_2);
      teil_str_2 [LEN_STR_2] = '\0';  // String in C abschliessen

      /* Und ab hier kann mit den beiden Teil-Strings gearbeitet werden */

      flagvonderISR = 0;
}
Aber Vorsicht mit den str...-Befehlen. Die fressen enorm viel Speicherplatz.