Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
GSM
tolyan249 Дата: Пт, 04.11.2022, 13:38  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 199
Репутация: 0   ±
Замечания:   ±
На сайте с 11.10.2007

Статус: Offline

Есть GSM модуль SIM900 ,отправляю команду ему AT, с pic16f628A
Модуль отвечает ОК ,вижу в терминале , но не уходит на другую метку , так как ОК он не видит ,вместо кода символа 79 и 75 он видит 161 и 106
должно быть 79 75 10 13
Пик читает    13 10 79 75 Это отправляет GSM модуль ,сначала перевод строки потом текст
не понятно

Если читать GSM модуль терминалом то он отправляет так 13 10 79 75
А это то что принимет пик от GSM модуля и отправляет обратно  10 13 161 106
Такое ощущение что пик не правильно принимает ,коды перевёрнуты местами 10 и 13 ,вместо 79 и 75 принимает 161 и 106

Может кто что подскажет.?

Device = 16F628A '
Xtal = 4 '
Config BODEN_OFF, PWRTE_ON, WDT_OFF, LVP_OFF, MCLRE_OFF, INTRC_OSC_NOCLKOUT, DATA_CP_ON

Declare All_Digital = On 'Все порты - цифровые

'-------------------------- Настройки USART ----------------------------------

Declare  Hserial_Baud  9600   ' Скорость передачи данных, бод
Declare  Hserial_TXSTA = %00100000   ' Включить передатчик USART
Declare  Hserial_RCSTA = %10010000   ' Включить приемник USART
Declare  Hserial_SPBRG  6   ' Значение регистра SPBRG для выбранной скорости
Declare  Hserial_Clear = On   ' Автоматическая очистка бита ошибки переполнения

Dim i Byte
Dim TEXT[20]  As Byte

Clear 'Очистим RAM
PORTB=%11110010 'Настроим portb
CMCON = 7 'Отключим компараторы
TRISB = %11110010 'Каналы - на вход, ключ - на вход, остальные - на выход
TRISA = %00101110
OPTION_REG = %10000000 'Отключим подтяжку на portb

Cls

CheckPhone: 'Инициализация
For i=1 To 20
TEXT=0
Next
HSerOut ["AT" ,13]  ' HSerOut ["AT" ,13,10] отправить запрос на английсом GSM модулю,для проверки подключения
'HSerIn 5000, CheckPhone,[Wait("OK")]'Ждем ответа, если нет , то снова на CheckPhone
HSerIn 5000, CheckPhone,[TEXT[1],TEXT[2],TEXT[3],TEXT[4]]
DelayMS 5000
HSerOut [TEXT[1],TEXT[2],TEXT[3],TEXT[4]] 'Отправить обратно что получили от GSM модуля
DelayMS 5000
If TEXT[1]="O" and TEXT[2]="K" then
goto main
endif

GoTo  CheckPhone

:main:
HSerOut ["+CMTI: «SM»,1" ,13]

end


если знаешь,помоги.
Сообщение отредактировал tolyan249 - Пт, 04.11.2022, 15:25
ЯНДЕКС Дата: 04.11.2022
  • Страница 1 из 1
  • 1
Поиск: