Устройство управления и контроля. Часть 4
|
|
Admin | Дата: Пятница, 02.03.2018, 18:00 | Сообщение # 421 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Online
| Цитата св ( ) Версия 1.5 имеет контроль статуса GSM или нет? Конечно имеет.
Цитата св ( ) Перепрошиваются ли PIC с ранней версии на более позднею. 1.5, 1.7 у меня не дышат? Любой исправный PIC при условии, что не установлен бит защиты, перепрошивается на любую прошивку.
Я полагаю, что у Вас проблема с контролем входа "Статус". На форуме неоднократно писали, что для надежной работы этого входа должен быть установлен подтягивающий резистор R31 (4,7 kOm) на вход А4 (вывод 6 МК), см. рис 1 по этой ссылке
|
|
| |
vasal | Дата: Понедельник, 05.03.2018, 17:51 | Сообщение # 422 |
Группа: Пользователи
Сообщений: 15
Статус: Offline
| Добрый день уважаемый АДМИН. Помогите пожалуйста с командой запроса баланса. Для SIM 800 нужно чтобы команда была AT+CUSD=1,"#100#" , иначе баланс не приходит. Я понимаю, что вы очень заняты, но без вас самостоятельно я не смогу это сделать. Буду очень благодарен, если найдется для меня время, может и не только для меня, но и для других форумчан которые захотят собрать ваше устройство на SIM800. Спасибо.
|
|
| |
Admin | Дата: Понедельник, 05.03.2018, 18:50 | Сообщение # 423 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Online
| Цитата св ( ) Если подать общий провод на вход контроля статуса, можно таким образом работать без оного? В принципе можно. Просто без контроля статуса в случае сбоя не будет автоматической перезагрузки модуля. А что, у SIM800 нет такого выхода?
Цитата vasal ( ) я не смогу это сделать. "Не смогу это сделать" в данной ситуации = "не хочу это сделать" Я же выложил исходники. Пробуйте. Не будет получаться - попробуем вместе разобраться, что и как не получается.
|
|
| |
vasal | Дата: Понедельник, 05.03.2018, 20:02 | Сообщение # 424 |
Группа: Пользователи
Сообщений: 15
Статус: Offline
| Вы знаете, хотеть я могу сколько угодно, но исходник для меня это как самолет для тракториста. И колеса есть и кабина и приборы..., но я не летчик.
|
|
| |
Admin | Дата: Вторник, 06.03.2018, 05:48 | Сообщение # 425 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Online
| А давайте все же попробуем. Многие на этом форуме тоже сначала говорили "не смогу", а потом полностью переделывали прошивки. Просто понимаете в чем дело - завтра найдется еще одно отличие, затем еще одно. А потом появится еще модуль, отличающийся командами, какой-нибудь SIM666 ..... и так до бесконечности.
|
|
| |
vasal | Дата: Вторник, 06.03.2018, 07:11 | Сообщение # 426 |
Группа: Пользователи
Сообщений: 15
Статус: Offline
| Так я только "ЗА", вы дайте пожалуйста ориентир так сказать, а я дальше попытаюсь.
|
|
| |
Admin | Дата: Вторник, 06.03.2018, 08:50 | Сообщение # 427 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Online
| Вот это правильный подход Давайте для начала попробуем найти в исходном коде подпрограмму,формирующую запрос баланса и разобраться, какую АТ-команду она формирует.
|
|
| |
vasal | Дата: Вторник, 06.03.2018, 15:03 | Сообщение # 428 |
Группа: Пользователи
Сообщений: 15
Статус: Offline
| USSD_1 EQU 79h ; номер запроса баланса #xxx# USSD_2 EQU 7Ah USSD_3 EQU 7Bh USSD_4 EQU 7Ch USSD_5 EQU 7Dh USSD_6 EQU 7Eh ; ячейка для закрывающих номер кавычек (блокировка кавычек)
Наверное это здесь, но как сюда вставить AT+CUSD=1,"#100#" ?...подскажите если можно.
|
|
| |
Admin | Дата: Вторник, 06.03.2018, 15:30 | Сообщение # 429 |
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Online
| Это не подпрограмма. Вы написали только регистры, в которых хранится номер запроса баланса. В начале подпрограммы формируется команда ATD, которую Вам ее нужно заменить на AT+CUSD=1,
т.е. ATD(USSD_1, USSD_2, USSD_3,USSD_4, USSD_5)
заменить на: AT+CUSD=1,"(USSD_1, USSD_2, USSD_3,USSD_4, USSD_5)"
где: USSD_1….. USSD_5 – это ячейки для хранения номера запроса баланса, например*100#
а вот подпрограмма, в которую нужно внести изменения:
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 ; если модуль М10 (бит 1 = 1), то GOTO EX_ATD_BALANS ; пропускаем точку с запятой MOVLW h'3B' CALL SEND_BYTE EX_ATD_BALANS CALL AT_FINISH RETURN
|
|
| |
vasal | Дата: Вторник, 06.03.2018, 20:01 | Сообщение # 430 |
Группа: Пользователи
Сообщений: 15
Статус: Offline
| Спасибо большое, только MPASM почему то ругается:
Warning[205] D:\C.ASM 11 : Found directive in column 1. (errorlevel) Warning[205] D:\C.ASM 12 : Found directive in column 1. (errorlevel) Warning[205] D:\C.ASM 177 : Found directive in column 1. (CBLOCK) Warning[205] D:\C.ASM 187 : Found directive in column 1. (ENDC) Warning[207] D:\C.ASM 283 : Found label after column 1. (NUM_USSD_1) Warning[207] D:\C.ASM 309 : Found label after column 1. (US_NUM) Error[113] D:\C.ASM 2890 : Symbol not previously defined (SIM_XXX) Warning[207] D:\C.ASM 2894 : Found label after column 1. (EX_ATD_BALANS) Warning[207] D:\C.ASM 2938 : Found label after column 1. (AT_START)
|
|
| |