Перейти к содержанию
    

MrDorianGray

Участник
  • Постов

    20
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о MrDorianGray

  • Звание
    Участник
    Участник

Посетители профиля

894 просмотра профиля
  1. Разобрался с отключением режима AT от портов UART. Но проблема с событиями при отправке данных осталась. Если не сложно, посмотрите пожалуйста код. Может я где-то не так настроил UARTы. В коде данные периодически отправляются в UART2 и UARTUSB по таймеру. UART1 работает в режиме DEBUG. Все порты настроены на скорость 9600 в режиме 8N1. При отправке данных событие EAT_EVENT_UART_SEND_COMPLETE на портах UART2 и UARTUSB не происходит, а на порте UART1 происходит. main.rar
  2. Поставил прошивку 1418B04SIM800C32_BT_EAT. Эта вроде последняя. Проблема осталась :crying: . При получении данных на UART2 событие EAT_EVENT_UART_READY_RD выполняется, при отправке данных событие EAT_EVENT_UART_SEND_COMPLETE не выполняется. При инициализации UART2 использую функцию eat_uart_set_send_complete_event(eat_uart_app, EAT_TRUE); для того что бы разрешить это событие.
  3. Добрый день, возникли некоторые сложно при работе с UART в модуле SIM800С (прошивка B03SIM800C32_BT_EAT). Собственно в чем проблемы: 1) Настраиваю UART2 как пользовательский для передачи данных. Данные передаются, но ивент EAT_EVENT_UART_SEND_COMPLETE не происходит. Вместо UART2 ставлю UART1 - ивент происходит, данные передаются. Всю настройку делаю как в примерах. Если необходимо, выложу код инициализации. Вопрос - есть ли нюансы в данной настройке для портов? 2) Пробую настроить UART1, UART2 для передачи данных, а USB_UART для DebugMode - не работает. Работает только если хотя бы один порт UART используется как порт для AT команд, перепробовал все варианты настройки (ставил разные режимы для портов), но если нет хотя бы на одном порте режима АТ команд, не работает модуль. Вопрос - можно ли настроить что б все порты работали как пользовательские одновременно, без порта для AT команд?
  4. Переключив в режи МЕ и протестировав - обнаружил, что если выбрать 2) Erase Sourse Code and Uaser Data то сообщения в памяти sim800c стираются. И возник еще один вопрос: Принятые сообщения сохраняются в зависимости от команд: "SM" SIM message storage "ME" Phone message storage "SM_P" SM message storage preferred "ME_P" ME message storage preferred "MT" SM or ME message storage ( SM preferred) Вопрос - чем отличается SM_P от SM и ME_P от ME. Режим МТ - позволяет сохранять в обе памяти и сначала будет сохранение в SM, так ? Непонятно зачем режимы SM_P и ME_P.
  5. А принятые СМС сообщения, которые сохраняются в памяти модуля не входят в данный пункт ?
  6. Добрый день. Использую SIM800C и программу для прошивки simcom series download tool 1.08. В программе прошики есть поле EraseType в котором можно выбрать 1)Erase Sourse Code и 2) Erase Sourse Code and Uaser Data. Вопрос вот в чем - что входит в User Data? Спасибо!
  7. Поборол проблему того, что не запускалась прошивка EAT - компилировал на старой версии ядра, а заливал на новую версию. Но проблема с перезагрузкой осталась - опытным путем нашел строчку в которой возникает перезагрузка: eat_uart_write(eat_uart_app, GPS_GLL_GGA_RMC_INTERVAl_1_1_1, len); где #define GPS_GLL_GGA_RMC_INTERVAl_1_1_1 "$PMTK314,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n" len - длинна строки eat_uart_app - EAT_UART_1 Данная строчка выполняется по таймеру, раз в секунду. Весит на отдельном таймере. Но проблема еще в том что девайс перезагружается хаотично - иногда выводит строку, иногда нет. При чем если отправлять строку меньшего размера, например "$PMTK300,250,0,0,0,0*2A\r\n" то перезагрузка не происходит. Прошивка 1418B03V03SIM800C32_BT_EAT.
  8. В команде AT+FTPSIZE параметр Max Response Time равен 75 с. Я для подобных команд время ожидания ставил как по даташиту, что б не спамить модуль частой отправкой команд. Для остальных обычно и секунды хватает. Не было ли у Вас сильно больших задержек по ответу от модулей? У меня модули SIM800C.
  9. Спасибо! Я просто думал надо в какой-то другой АТ команде искать, а оказалось это все в команде AT+CSQ.
  10. Что-то не могу найти что-то внятное про ber. Я смотрел по поводу AT+CSQ, вопрос дополнил.
  11. Подскажите пожалуйста что делает функция eat_network_get_ber(). В мануале уж совсем немногословно. И еще вопросик: функция eat_network_get_csq() аналогична команде AT+CSQ, и возвращает +CSQ: 21,0 число 21 - уровень сигнала? И почему функция объявлена как extern s32 (* const eat_network_get_csq)(void);, если она возвращает уровень сигнала, который может меняться в пределах 0..99 - зачем 32 бита, еще и знаковых. И еще один небольшой вопросик - у меня вылазит куча варнингов, например (argument of type "u8 *" is incompatible with parameter of type "char *restrict") когда я использую строковые функции типа strcpy() и тд., я понимаю что они хотят что б я указал переменные как restrict, но у меня почему-то при компиляции ругается на это выдает ошибку. подскажите пожалуйста как побороть данный варнинг - как привести к типу (restrict). Спасибо. И еще стоит в ближайшем обозримом будущем ждать EAT функции по работе с FTP или дальше страдать и парсить ответы от модема ? Прошивка - 1418B03SIM800C32_BT_EAT.
  12. Загрузил прошивку 1418B03V03SIM800C32_BT_EAT и модуль не запустился. Светодиод NET_LIGHT не мигает. загружал прошивку с файлом app (файл программы EAT), так и без файла - только ядро. Результат одинаковый. Прошивку получил вчера. Со старой версией запускается нормально. Процесс прошивки прошел хорошо.
  13. Использую модуль SIM800C. Прошивка - 1418B02SIM800C32_BT_EAT_115200. Пишу приложение для EAT. Приложение принимает данные с GPS, парсит их, а потом отправляет на сервер по TCP в определенном формате. В один прекрасный момент модуль начал хаотично перезагружаться в разные моменты времени. Данные с GPS принимаются с интервалом в 250 мс, с таким же интервалом и отправляются на сервер. Во время работы в отладочный порт выводится различная инфа - выводиться много и быстро. Просадки по питанию исключаю - допаял дополнительный кондер - просадка по питанию не больше 100-150 мВ, напряжение питания 4.2В. При работе программы с интервалом приема/передачи данных в 1000 мс устройство работает стабильней. При работе программы с интервалом приема/передачи данных в 100 мс устройство работает очень нестабильно. Вопрос в чем может быть проблема ? и куда копать ? возможно ли перезагрузка прибора при переполнении входящего или иходящего буферов UART. И как можно отдебажить момент перезагрузки, что бы понять что происходит? Склоняюсь к софтовой проблеме, но понять так и не смог в чем проблема. Второй вопрос: какими путями можно удаленно обновить прошивку (модуль скачивает прошивку с сервера)? Я так понимаю можно скачать ее по ftp, и записать ее во flash, а потом функцией eat_update_app обновить прошивку - В мануале - sim800_series_embedded_at_application_note_1.02.pdf пункт 8.4 APP upgrade прочитал. Но как я понял API для работы с FTP пока нет, и нужно через AT команды делать (в примерах есть).
  14. Огромное спасибо! Наконец сдвинулось с мертвой точки, прошилось сразу! Премного благодарен! По поводу RVDS нужно кого-то попросить, что б скачали?
  15. Нет, я не в России :) Подожду уже тут, надеюсь коллеги помогут :)
×
×
  • Создать...