|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Парсинг данных через COM порт
Всем привет мужики тише лет не заходил сюда забросил как то я дельфи. Вот опять поменял работу пытаюсь себе жизнь упростить.
Код:
2022-10-18 12:19:55: Sim900_Write-81: AT Send, len is 4 AT 2022-10-18 12:19:55: Modul [12:19:32.644]IN¡û¡ôe_Wait_Sync-373: AT Recv, len is 9 AT OK 2022-10-18 12:19:55: Sim900_Write-81: AT Send, len is 6 ATE0 [12:19:32.675]IN¡û¡ô 2022-10-18 12:19:55: Module_Wait_Sync-373: AT Recv, len is 11 ATE0 OK 2022-10-18 12:19:55: Sim900_Write-81: [12:19:32.723]IN¡û¡ô AT Send, len is 19 AT+CNMI=0,0,0,0,0 [12:19:32.754]IN¡û¡ô 2022-10-18 12:19:55: Module_Wait_Sync-373: AT Recv, len is 6 OK 2022-10-18 12:19:55: Sim900_Write-81: AT Send, len is 11 AT+CMGF=0 [12:19:32.817]IN¡û¡ô 2022-10-18 12:19:55: Module_Wait_Sync-373: AT Recv, len is 6 OK 2022-10-18 12:19:55: Sim900_Write-81: AT Send, len is 12 AT+CIURC=0 [12:19:32.880]IN¡û¡ô 2022-10-18 12:19:55: Module_Wait_Sync-373: AT Recv, len is 6 OK 2022-10-18 12:19:55: Sim900_Write-81: AT Send, len is 9 AT+CGMR [12:19:32.944]IN¡û¡ô 2022-10-18 12:19:55: Module_Wait_Sync-373: AT Recv, len is 35 Revision:1418B06SI M800C24 OK 2022-10-18 12:19:55: Sim900_Write-81: AT Send, len is 5 ATI [12:19:33.023]IN¡û¡ô 2022-10-18 12:19:56: Module_Wait_Sync-373: AT Recv, len is 23 SIM800 R14.18 O K 2022-10-18 12:19:56: Sim900_Write-81: AT Send, len is 9 AT+CGSN [12:19:33.094]IN¡û¡ô 2022-10-18 12:19:56: Module_Wait_Sync-373: AT Recv, len is 25 868895056178897 Вот такую информацию и много другой информации аппарат посылает по ком порту - если посмотрите там в одну секунду несколько пакетов данных идут. До добавления их в Memo я могу перехватить данные и парсить информацию. В чем следовательно проблема. Перехвачиваю информацию я методом POS например Код:
ansipos('AT+CGSN', text); //запрос на получения IMEI устройства Из за того что пакетов много в одной секунде если например я перехватил отправленный пакет не могу перехватывать его результать. Ответ идет следующим пакетом которую тупо пропускает обработчик. Остановить поток данных нет возможности. Как это можно решить? Еще обратил внимание на то что если после перехвата будет много операций для извлечения результата то рушется последовательность. Потому что пока идет обработка первого пакета там немаверной скоростью добавляются другие пакеты в строки TMemo Нет ничего не возможного. Вопрос только во времени... |