Устройство управления и контроля. Часть 4
|
|
gozhev | Дата: Среда, 10.02.2016, 11:44 | Сообщение # 131 |
Группа: Пользователи
Сообщений: 8
Статус: Offline
| Добрый день! Информационное смс приходит, а в нем нет баланса. За место баланса 0R. Что может быть. Кодировку перевел на латиницу. номер указал #105#. Оператор Теле2, прошивка 1.7
|
|
| |
Sashkus | Дата: Воскресенье, 14.02.2016, 10:29 | Сообщение # 132 |
Группа: Пользователи
Сообщений: 14
Статус: Offline
| У меня другая шляпа - баланс приходит то нормально на инглише, то набор символов в виде @@@$@@### , треугольники и прочее. От чего зависит - не установлено. Несколько дней так, несколько - так. Оператор MTS.by
|
|
| |
alex152 | Дата: Вторник, 16.02.2016, 15:47 | Сообщение # 133 |
Группа: Пользователи
Сообщений: 366
Статус: Offline
| Цитата gozhev ( ) номер указал #105# Насколько я знаю, на #105# Теле2 RU выдает ошибку, а баланс выдает только на кириллице по *105#. Проверьте в телефоне
Сообщение отредактировал alex152 - Вторник, 16.02.2016, 15:49 |
|
| |
Roma80 | Дата: Понедельник, 29.02.2016, 20:28 | Сообщение # 134 |
Группа: Пользователи
Сообщений: 25
Статус: Offline
| Собрал устройство, версия прошивки 1.7, модуль 900D. Заработало почти сразу, кроме того, что совсем не распознавалось DTMF, вспышки светодиода (на 11 ноге пика) были при нажатии на клавиатуру, но МК их не принимал. После удаления этого светодиода распознавание стало 99%. Пока проверял только тоновые команды, звуковой модуль пока в пути. Хочу поблагодарить автора и всех принимавших участие в допиливании УУиК! Единственное что пока не получается настроить - в инфо смс вместо баланса набор символов. Оператор теле2. На запросы *105# или #105# ответ одинаковый - набор символов. Подозреваю, что из-за кирилицы. Если на телефоне набрать *105*1# то ответ баланса на латинице. УУиК от такого запроса падает в обморок (примерно на 2 сек. переходят в ноль активные выходные каналы) и инфо смс не приходит. Подскажите пожалуйста кто чем может, как лечить?
|
|
| |
vspishkin | Дата: Вторник, 01.03.2016, 11:01 | Сообщение # 135 |
Группа: Пользователи
Сообщений: 868
Статус: Offline
| Можете выложить печатку?
|
|
| |
Roma80 | Дата: Вторник, 01.03.2016, 11:17 | Сообщение # 136 |
Группа: Пользователи
Сообщений: 25
Статус: Offline
| vspishkin, печатки ваши, только немного переделанные под себя. Некоторые номиналы на плате не соответствуют действительности, нужно по схеме смотреть. Можете подсказать на счет некорректного отображения баланса?
|
|
| |
alex152 | Дата: Вторник, 01.03.2016, 13:47 | Сообщение # 137 |
Группа: Пользователи
Сообщений: 366
Статус: Offline
| Цитата Roma80 ( ) Можете подсказать на счет некорректного отображения баланса? Программа контроллера понимает номер для баланса только в виде *105# или #105#, а номер в виде *105*1# приводит к ошибке в обработке прерывания и PIC перезапускается по срабатыванию watchdog. Для устранения этого надо изменять исходник прошивки, но проще использовать симку другого сотового оператора .
Сообщение отредактировал alex152 - Вторник, 01.03.2016, 13:48 |
|
| |
Roma80 | Дата: Вторник, 01.03.2016, 14:41 | Сообщение # 138 |
Группа: Пользователи
Сообщений: 25
Статус: Offline
| alex152, спасибо. Перейти на другого оператора не смогу, проще остаться без баланса...
Добавлено (01.03.2016, 14:41) --------------------------------------------- Нашел в 153 строке программы в каком формате должен быть запрос баланса. Я там понимаю, что код EQU 79H соответствует формату #xxx#. Как изменить код, чтобы это соответствовало формату #105*1# может кто знает? ))
|
|
| |
Admin | Дата: Вторник, 01.03.2016, 18:50 | Сообщение # 139 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
| Цитата Roma80 ( ) Нашел в 153 строке программы в каком формате должен быть запрос баланса. Я там понимаю, что код EQU 79H соответствует формату #xxx#. Как изменить код, чтобы это соответствовало формату #105*1# может кто знает? )) Это всего лишь регистры, в которые записывается считанный номер запроса баланса с SIM карты.
Видимо, в Вашем случае, самым простым решением будет "зашить" запрос баланса прямо в программу. Т.е. подпрограмму
Код ATD_BALANS CALL AT_START movlw h'44' CALL SEND_BYTE MOVF USSD_1,0 CALL SEND_BYTE MOVF USSD_2,0 CALL SEND_BYTE MOVF USSD_3,0 CALL SEND_BYTE MOVF USSD_4,0 CALL SEND_BYTE MOVF USSD_5,0 CALL SEND_BYTE BTFSC SIM_XXX,1 GOTO EX_ATD_BALANS MOVLW h'3B' CALL SEND_BYTE
EX_ATD_BALANS CALL AT_FINISH RETURN
изменить на следующую:
Код ATD_BALANS CALL AT_START movlw h'44' CALL SEND_BYTE movlw h'23' CALL SEND_BYTE movlw h'31' CALL SEND_BYTE movlw h'30' CALL SEND_BYTE movlw h'35' CALL SEND_BYTE movlw h'2A' CALL SEND_BYTE movlw h'31' CALL SEND_BYTE movlw h'23' CALL SEND_BYTE
BTFSC SIM_XXX,1 GOTO EX_ATD_BALANS MOVLW h'3B' CALL SEND_BYTE
EX_ATD_BALANS CALL AT_FINISH RETURN
В этом случае мы сразу в подпрограмме запроса баланса формируем номер #105*1#
Только мне не совсем понятно - сколько я не смотрел в интернете USSD-запросы баланса у tele2, то подобного запроса (#105*1#) не видел. Всюду указывают формат типа *xxx#. Например, здесь_http://sms-mms-free.ru/balance_tele2
|
|
| |
Roma80 | Дата: Вторник, 01.03.2016, 20:57 | Сообщение # 140 |
Группа: Пользователи
Сообщений: 25
Статус: Offline
| Большое спасибо, Admin! Осталось только изучить mplab, чтобы получить хекс, о результатах обязательно отпишусь. Про команду #105*1# вычитал где-то в интернете, проверил, действительно работает и баланс приходит на латинице. Пойду изучать mplab
|
|
| |