Среда, 27.11.2024, 17:16
| RSS
Главная | Устройство управления и контроля. Часть 4 - Страница 43 - Форум
Защита, контроль, управление
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат

Наш канал в YouTube
]
Устройство управления и контроля. Часть 4
AdminДата: Пятница, 02.03.2018, 18:00 | Сообщение # 421
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата св ()
Версия 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
Статус: Offline
Цитата св ()
Если подать общий провод на вход контроля статуса, можно таким образом работать без оного?

В принципе можно. Просто без контроля статуса в случае сбоя не будет автоматической перезагрузки модуля. А что, у SIM800 нет такого выхода?

Цитата vasal ()
я не смогу это сделать.

"Не смогу это сделать" в данной ситуации = "не хочу это сделать"
Я же выложил исходники. Пробуйте. Не будет получаться - попробуем вместе разобраться, что и как не получается.
 
vasalДата: Понедельник, 05.03.2018, 20:02 | Сообщение # 424
Группа: Пользователи
Сообщений: 15
Статус: Offline
Вы знаете, хотеть я могу сколько угодно, но исходник для меня это как самолет для тракториста.
И колеса есть и кабина и приборы..., но я не летчик. biggrin
 
AdminДата: Вторник, 06.03.2018, 05:48 | Сообщение # 425
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
А давайте все же попробуем. Многие на этом форуме тоже сначала говорили "не смогу", а потом полностью переделывали прошивки.
Просто понимаете в чем дело - завтра найдется еще одно отличие, затем еще одно. А потом появится еще модуль, отличающийся командами, какой-нибудь SIM666  smile ..... и так до бесконечности.
 
vasalДата: Вторник, 06.03.2018, 07:11 | Сообщение # 426
Группа: Пользователи
Сообщений: 15
Статус: Offline
Так я только "ЗА", вы дайте пожалуйста ориентир так сказать, а я дальше попытаюсь.
 
AdminДата: Вторник, 06.03.2018, 08:50 | Сообщение # 427
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Вот это правильный подход
Давайте для начала попробуем найти в исходном коде подпрограмму,формирующую запрос баланса и разобраться, какую АТ-команду она
формирует.
 


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
Статус: Offline
Это не подпрограмма. Вы написали только регистры, в которых хранится номер запроса баланса.
В начале подпрограммы формируется команда 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)
 
Поиск:



T2M © 2024
Сайт управляется системой uCoz