У меня другой пик и другой компилятор.
Однако, из общих соображений следует:
1) UART можно как включить так и выключить. А когда у вас выключен UART, вы можете делать
с состояниями выводов что хотите.
2) Я подаю питание на SIM300(точнее, ресетю его), жду секунд 5 (за это время проскакивает RDY и еще кое-что), а только после этого включаю
USART и ловлю Cаll ready. После этого работаю с модулем уже без всяких ограничений. Если он вдруг перестал отвечать,
отваливаюсь к самому началу по срабатыванию WDT.
Возможно, это не самый лучший способ, но пока работает без сбоев.
3)Если вы используете SW UART, то можете назначить его вход на один из входов, вызывающих прерывание.
Правда, первый символ вы скорее всего потеряете.
4) Ваш пик потребляет пару миллиампер. Неужели это для вас принципиально? Если СИМ300 не в power down, то он кушает в десять раз больше. даже если ничего не передает в данный момент. А если он в дауне, то что интересного он вам может сказать по UART? А если ничего - то можете спокойно спать и просыпаться, например по WDT. В чем проблемы?...
Причина редактирования: Бездумное цитирование