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

Здравствуйте! Подскажите как грамотно отослать данные по UART , используется только RX и TX, в самом даташите сказано, что надо отправить любой байт данных и после 100мс отправлять данные. А в appnote сказано , что надо отправлять данные непрерывно, пока не придет ответ от модуля. Чему верить?

Использую AT+CSCLK = 2 .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отправить AT несколько раз.

Когда получили ОК - перевести модуль на фиксированную скорость.

AT+IPR=9600

AT&W

Перегружаем модуль и далее уже работаем на фиксированной скорости без всяких задержек.

 

Если модуль усыпляем - то лучше использовать DTR для просыпания.

Игра на задержках это баловство для студентов - сделать абы сдать.

 

И если предполагается передача больших объемов данных, или работа на скорости выше чем 9600, то использование RTS/CTS очень рекомендуемо чтобы не терять данные.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да нормально и без DTR можно работать, чуть дольше только выход из сна

AT\r

пауза 200 мс

AT\r

OK

затем сразу

AT+SLEEP=0\r

OK

..... //делаем неспеша, что нужно и опять засыпаем

AT+SLEEP=2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понял, спасибо большое, а зачем перезагружать модуль если можно просто включить режим AT+CSCLK = 0 ?

Скорость у меня 230400 , пока проблем с передачами не было без RTS/CTS, объемы данных до 200килобайт за минуту

 

vit496

 

У меня так и реализовано, но сделаю для надежности через DTR как велят старожилы

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если использовать DTR , то тогда придется применять AT+CSCLK=1 , в таком случае при входящем событии на модуль (звонок либо смс ) в таком случае необходимо отслеждивать вывод UART_RI и пробуждать SIM800 через DTR ?

Или при AT+CSCLK = 1 уровень на RI не будет меняться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если для вас важно входящее событие, то да.

Если инициатор само устройство, то игнорируйте.

 

Вам что жалко пару линий портов для большей функциональности????

 

It’s recommended connect the RI to an interrupt port of MCU. It can be used for waking up from power saving mode. That means the MCU will receive an interrupt while a falling edge coming on RI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам что жалко пару линий портов для большей функциональности????

 

Линий портов всегда жалко. Особенно когда функциональности как таковой не добавляется. Прерывание по приему символа в UART при входящем событии ничуть не хуже прерывания по ноге RI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В режиме сна при clk = 1 уарт вроде как молчит даже при входящем событии, поэтому надо RI использовать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В режиме сна при clk = 1 уарт вроде как молчит даже при входящем событии, поэтому надо RI использовать

Не молчит. +CRING: VOICE, +CLIP: "+7906211... Все как обычно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В режиме сна при clk = 1 уарт вроде как молчит даже при входящем событии, поэтому надо RI использовать

Ничего не молчит - все асинхронные сообщения приходят как и должны приходить. Особенность лишь в том, что для того, что-бы что-то ответить на эти сообщения(отослать что-то в модуль) надо по-любому дернуть DTR и подождать 80мс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! потребление около 6 мА в данном режиме, что на 5 мА больше чем в даташите, в чем может быть косяк?

Напряжение подавал напрямую, подключение SIM как в даташите, светодиоды все выпаял, согласование UART на транзисторах сделано, но там столько жрать не должно

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подпитка по портам где-то осталась.

Мы 0.7 мА получали переводя выход UART контроллера в Z состояние.

И потом только контролировали RI для просыпания.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду разбираться, что то в платке с модулем жрёт, сейчас попробую выпаять транзисторы, согласующие уарт, при clk = 2 и cfun = 0 кушает 3 - 4 мА, ножки которые с МК соединены разорвал толку нет

Изменено пользователем Mysteo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...