Ultrasonic anemometer reading

At first I wanna thank you guys for all your help! I really learned a lot.

Here is my total program just if someone would like to know all the answers.
(Don't mind the commentary, I needed to do it that much)

Program for simulating the string the anemometer sends:

void setup()
{
Serial.begin(9600);
Serial2.begin(9600);
}

void loop()
{
  char anemometerString[] = "$IIMWV,225.0,R,000.0,N,A*38";
  Serial.println(anemometerString);
  Serial2.write (anemometerString);
  delay(500);
}

Decoding and displaying the retrieved signal:

/****************************************************************************
* Decoding the Anemometer string sent by the CV7-V sensor from LCJ capteurs *
* This string will look like '$IIMWV,225.0,R,000.0,N,A*38' for example      *
****************************************************************************/

//Include a library to use some extra functions
#include <string.h>

// Reading String
char InputChar = 0;
char AnemometerString[50];
int index = 0;

//Dividing String
char Delimiters[] = "$,*";
char *StringPart1;
char *StringPart2;
char *StringPart3;
char *StringPart4;
char *StringPart5;
char *StringPart6;
char *StringPart7;

//Checksum
char ChecksumCalc = 0;
int CharVal1 = 0;
int CharVal2 = 0;
int Checksum = 0;
char AnemometerString2[27];
int index2 = 0;

//Processing String Parts
float WindAngle = 0;
float WindSpeed = 0;
char *RelativeReference = "R";
char *True = "T";
char *Knots = "N";
char *KMH = "K";
char *MPH = "M";
char *Available = "A";
char *Alarm = "V";

// Setup the connection speed and show the monitor the Arduino is on   
void setup()
{
Serial2.begin(9600);
Serial.begin(9600);
Serial.println("Power on");
}

// Start the whole program
void loop()
{
  /*********************************************************
  * If the serial input reads something                    *
  * Write it to a char and make a string from these chars  *
  * Null terminate every char and finally the whole string *
  *********************************************************/
  
  if (Serial2.available() > 0)  
  {
    InputChar = Serial2.read();
    AnemometerString[index] = InputChar;
    index++;
    AnemometerString[index] = '\0'; 
     
    if ( InputChar == '\n')
      AnemometerString[index] = '\0';
      	

   /***********************************************************
   * If the string reached 27 chars, this is the whole string *
   * Print out this string and copy it into an other string   *
   * The second will be used for comparing later on           *
   ***********************************************************/
   
    if (index == 27)
    { 
      strcpy(AnemometerString2, AnemometerString);
      
      Serial.print("The whole string: \t");
      Serial.print(AnemometerString);
      Serial.println("\n");
    
      // Devide the string in 7 different parts
      StringPart1 = strtok(AnemometerString, Delimiters);
      StringPart2 = strtok(NULL, Delimiters);
      StringPart3 = strtok(NULL, Delimiters);
      StringPart4 = strtok(NULL, Delimiters);
      StringPart5 = strtok(NULL, Delimiters);
      StringPart6 = strtok(NULL, Delimiters);
      StringPart7 = strtok(NULL, Delimiters);
      
      
      /****************************************************
      * The last two numbers of the string are a checksum *
      * This checksum needs to be in HEX                  *
      * Convert it to an equal int value                  *
      ****************************************************/
      
       if ((StringPart7[0] >= '0') && (StringPart7[0] <= '9'))
         CharVal1 = StringPart7[0] - '0';
    
       else if ((StringPart7[0] >= 'A') && (StringPart7[0] <= 'F'))
         CharVal1 = StringPart7[0] - 'A' + 10;
         
  
       if ((StringPart7[1] >= '0') && (StringPart7[1] <= '9'))
         CharVal2 = StringPart7[1] - '0';
    
       else if ((StringPart7[1] >= 'A') && (StringPart7[1] <= 'F'))
         CharVal2 = StringPart7[1] - 'A' + 10;
         
         Checksum = CharVal1*16 + CharVal2;
         
         
       /*********************************************************************************
       * Make the check sum by adding every character of the string between '

and '*' *
      * evey time the ChecksumCalc needs to be set on 0 again before we calculate it  *
      *********/
      ChecksumCalc = 0;
     
      for (index2 = 1; index2 <=23 ; index2++)
        ChecksumCalc = ChecksumCalc ^ AnemometerString2[index2];
     
      Serial.println(StringPart1);
     
     
      /

      * If the calculated checksum is equal to the checksum in the string    *
      * And if the first part of the string is the code for anemometer sensor *
      * Everything can be written to the monitor                              *
      ***********/
     
      if (ChecksumCalc == Checksum)
      {
        if (strcmp (StringPart1, "IIMWV") == 0)
        {
          Serial.print("The start sentence is: \t");
          Serial.println(StringPart1);
         
          // Make floats from the chars that presents numbers
          WindAngle = atof(StringPart2);
          WindSpeed = atof(StringPart4);
         
         
          /

          * Print the value of the Windangle                      *
          * Say wheter it is the true value or the Relative value *
          /
         
          if (strcmp(StringPart3, RelativeReference) == 0)
          {
            Serial.print("The windangle is: \t");
            Serial.print(WindAngle);
            Serial.println(" Relative");
          }
         
          else if (strcmp(StringPart3, True) == 0)
          {
            Serial.print("The windangle is: \t");
            Serial.print(WindAngle);
            Serial.println(" true");
          }
          else
          Serial.println("Wrong windangle signal");
         
         
          /

          * Print the value of the Windspeed                      *
          * Say wheter it is in Knots, Km/h or mph                *
          /
         
          if (strcmp(StringPart5, Knots) == 0)
          {
            Serial.print("The windspeed is: \t");
            Serial.print(WindSpeed);
            Serial.println(" knots");
          }
          else if (strcmp(StringPart5, KMH) == 0)
          {
            Serial.print("The windspeed is: \t");
            Serial.print(WindSpeed);
            Serial.println(" km/h");
          }
          else if (strcmp(StringPart5, MPH) == 0)
          {
            Serial.print("The windspeed is: \t");
            Serial.print(WindSpeed);
            Serial.println(" mph");
          }
          else
          Serial.println("Wrong windspeed signal");
         
         
          /

          * Say wheter the signal is available or if there is an alarm *
          *************************************************************/
         
          if (strcmp(StringPart6, Available) == 0)
          {
            Serial.print("Total string: \t\t");
            Serial.println("Available");
          }
          else if (strcmp(StringPart6, Alarm) == 0)
          {
            Serial.print("The total string: \t\t");
            Serial.println("Alarm!");
          }
          else
          Serial.println("Wrong status!");
         
          //Print out the checksum to compare it by eye
          Serial.print("The checksum is: \t");
          Serial.print(StringPart7);
          Serial.println(" HEX");       
          Serial.println("\n");
        }// End of if function for anemometer detection
       
        // If the anemometerdevice isn't detected, print it out
        else
        Serial.println("Error, wrong input device \n");
      }// End of if function where checksum needs to be right
     
      // Put the index of you anemometer string back to 0
      index = 0;
    }// End of if function where the string needs to be 27 chars long
  }// End of if function where serial input needs to be available
}// End of void loop