В примере где я отправлял команды вручную шильд всегда отвечал. Попробуйте добавить в код строчку Serial_s.println("AT") Например - Спойлер void loop() { // включаем GPRS шилд gprs.powerOn(); delay(1000); //nnnnnnnnnnnn Serial_S.println("AT"); //nnnnnnnnnnnn delay(1000); //nnnnnnnnnnnn ........ } ........ bool GPRS::init(void) { if (!sim900_check_with_cmd("AT\r\n","OK\r\n",CMD)) return false; Serial_s.println("AT"); //////////////////////////// if (!sim900_check_with_cmd("AT+CFUN=1\r\n","OK\r\n",CMD)) return false; Serial_s.println("AT"); //////////////////////////// if (!checkSIMStatus()) return false; if (!sim900_check_with_cmd("AT+CNMI?\r\n", "+CNMI: 2,2,0,0,0\r\nOK\r\n", CMD)) { if (!sim900_check_with_cmd("AT+CNMI=2,2,0,0,0\r\n","OK\r\n", CMD)) { return false; } } if (!sim900_check_with_cmd("AT+CMGF?\r\n", "+CMGF: 1\r\nOK\r\n", CMD)) { if (!sim900_check_with_cmd("AT+CMGF=1\r\n","OK\r\n", CMD)) { return false; } } if (!sim900_check_with_cmd("AT+CLIP=1\r\n","OK\r\n", CMD)) { return false; } return true; } До завтра. ПС. Еще раз пересмотрел тему - Че-то не пойму. В тексте речь про шильд на SIM800C. Библиотеку предлагают скачать - для SIM900. Вроде питалово написано идет по VIN. А тут возникает еще некий контакт IOR, которого в Ардуине нет. Странно все это. Какая-таки SIM800 или 900 ?
по поводу сим900 это где видно что под сим900? по файлу? вроде он на всех библиотеках так называется (которые я находил) по питанию...ну хз...у меня он есть и на шилде и на одной ардуине. на второй кстати называется 5v стоит sim800c
Ну и чем закончилась эпопея ? Правила вежливости вроде как требуют поделиться инфой о результатах "совместных" трудов. Народ хочет знать...
поделюсь обязательно, как закончится) пока забросил, кстати за что отвечает функция "sim900_check_with_cmd"?