Xử lý chuỗi trong Arduino

Chào các bác.
Em là người mới trong lập trình. Nhờ các bác giải thích giúp em ý nghĩa của câu lệnh:

if (ndx >= numChars) {
    ndx = numChars - 1;
 }

trong đoạn code sau với ạ:

    void recvWithStartEndMarkers() {
  static boolean recvInProgress = false;
  static byte ndx = 0;
  char startMarker = '<';
  char endMarker = '>';
  char rc;

  while (Serial.available() > 0 && newData == false) {
    rc = Serial.read();

    if (recvInProgress == true) {
      if (rc != endMarker) {
        receivedChars[ndx] = rc;
        ndx++;
        if (ndx >= numChars) {
          ndx = numChars - 1;
        }
      }
      else {
        receivedChars[ndx] = '\0'; // terminate the string
        recvInProgress = false;
        ndx = 0;
        newData = true;
      }
    }

    else if (rc == startMarker) {
      recvInProgress = true;
    }
  }
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?