ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
624678 Топик полностью
fk0, легенда (13.10.2015 12:09, просмотров: 84) ответил Nikolaev_Aleksey на Алгоритм работы микроконтроллера с GSM модулем.
Если применить вышеприведеный подход, автомат switch разрастается настолько -- для этого используются параллельные автоматы. В сумме они разрастаются (как у тебя, ибо число состояний перемножается), но по отдельности небольшие. Нужно http://caxapa.ru/397636.html
обеспечить последовательный доступ к модему для подачи команд. Кто-то один владеет модемом, пока свою команду не обработает (одну-пару команд, а не весь цикл работы), остальные ждут. Unsolicited сообщения доставляются всем заинтересованным слушателям, которые уже решают, обработать или передать дальше. Нужен полноценный парсер ответов модема, способный понять, что команда закончена (и сменить своё состояние, отдать ответ на верхний уровень). Многопоточное программирование ничем не поможет, только усложнит из-за синхронизации. Достаточно автоматов по switch-технологии Шалыто, или "прототредов". Помимо парсера ответов (автомат тоже) у меня были автомат для отправки SMS, автомат для приёма SMS, автомат для исходящих звонков, автомат для входящих звонков, автомат управляющий звонком вообще (на более нижнем уровне), автомат для интернета, автомат для слежения за GSM-сетью и исправностью SIM-карты (чтоб насильно перерегистрировать в сети ежели что), автомат для USSD-запросов... уж не помню чего ещё. Ещё топик: http://caxapa.ru/397626.html?todo=full
[ZX]