Вообще бред какой-то!!!!!! Вот так работает:
Код:
  while (Serial1.available())
    {
    bgsm[bsm]=Serial1.read();
    Serial.print(bgsm[bsm]);
    bsm++;
    if (bsm>=199)
      bsm=0;
    }
if(strstr(bgsm,"SM")!=NULL)
  {
  Serial1.println("AT+CMGR=1");
  delay(500);
  myGLCD.setFont(SmallFont); 
  myGLCD.print("SMS=", 0, 225);
  myGLCD.setFont(BigFont); 
  memset(bgsm, 0 , sizeof(bgsm));
  }
А добавляю Serial1.println("AT+CMGR=1"); - ПЕРЕСТАЕТ РАБОТАТЬ!!!! АААА

Код:
  while (Serial1.available())
    {
    bgsm[bsm]=Serial1.read();
    Serial.print(bgsm[bsm]);
    bsm++;
    if (bsm>=199)
      bsm=0;
    }
if(strstr(bgsm,"SM")!=NULL)
  {
  Serial1.println("AT+CMGR=1");
  delay(500);
  myGLCD.setFont(SmallFont); 
  myGLCD.print("SMS=", 0, 225);
  myGLCD.setFont(BigFont); 
  memset(bgsm, 0 , sizeof(bgsm));
  Serial1.println("AT+CMGR=1");
  }