Вам необходимо отправлять CR или CR + LF (символы № 13 и 10 соответственно) после каждой строки, отправляемой модему.
При использовании эмулятора терминала, такого как HyperTerminal, вы нажимаете клавишу Enter, вправо?Если вы не нажмете эту клавишу, модем не знает, что команда завершена и должна быть выполнена.То же самое должно быть сделано в вашей прошивке.
Более того: вы должны разрешить некоторую задержку, и вы должны прочитать ответы модема, но это может быть вторым шагом;Прежде всего, чтобы проверить, работает ли настройка на базовом уровне, необходимо отправить «AT», затем CR, а затем посмотреть, отвечает ли модем OK (+ CR и LF ...).
Измените
char tocheck[] ="AT";
в
char tocheck[] ="AT\r"; // the \r is the CR (carriage return)
, и вы увидите, что модем ответит, если все подключено правильно.