Software Serial нет приема даже по шлейфу
- Войдите на сайт для отправки комментариев
Пт, 17/09/2021 - 09:48
Коллеги программисты. Чувствую себя полным лохом, а не хочется.
Ситуация стандартная Arduino pro micro пытаюсь сростить с SIM800L. Управление SIM800 происходит, SMS отправляются и принимаются телефоном нормально, не получается прочитать ответ модуля. Осцилограммы показывают, что ответ есть.
Отключил модуль, поставил шлейф между выводами 8 и 9, загрузил стандартный скетч:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 9); // RX, TX
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Serial.println("Goodnight moon!");
mySerial.begin(9600);
mySerial.println("AT");
}
void loop() {
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}
Но приема в мониторе порта нет. В общем тупик.
Монитор порта настроил?
В скетче предполагается отправка проверочной фразы. Она есть. Потом должно приниматься то, что проходит по шлейфу. Этого нет.
Я правильно понял Ваш вопрос или Вы имели в виду что-то другое?
Коллеги. Тупик реальный. Пожалуйста посоветуйте. Такое впечатление, что mySerial вообще не воспринимает входящий сигнал.
SoftwareSerial или отсылает или принимает. Фокусы с закорачиванием RX-TX не прокатывают.
+1. Вместо SIM800 подключитесь к другому эмулятору терминала.
По поводу не корректного включения шлейфа спасибо, думаю Вы правы.
По поводу другого внешнего устройства. Осцилkограммы ответного сигнала нормальные. Единственная причина в этом случае, это только низкий уровень ответного сигнала. По осциkлогрофу 2,8 В.
На адуине закороти ресет на землю, и подключай sim по схеме rx-rx tx-tx, будет можно прямо из монитора работать.
Под rx и tx arduino понимаются пины, прописанные а скетче или только 0 и 1. Reset на землю вроде бы должен остановить программу?
В качестве имитатора шлейфа использую еще один frduino. Чем кончится напишу.
Ркит, как часто бывает, не многословен. Углублю. При нажатии на ресет МК отключается от схемы. В том смысле, что переходит в режим все ноги на вход. Тогда встроенный в плату USB-TTL конвертор можно использовать. Вот только на про микро нет конвертора.
Так на про микро есть свободный физический сериал, и этой чушью заниматься не надо совсем.
Зато на Про Микро есть Serial1.) Я то и не заметил что у ТС Про Микро.(
Только голову тут морочит!
Коллеги всем привет, всем спасибо.
Как обычно с проблемой надо переспать ночь и утром все станет ясно.
Р Е Ш Е Н И Е:
Рro micro нормально работает с SIM800L. Для решения проблемы я использовал в качестве шлейфа второй Pro micro. Запрограммировал возврат по порту с задержкой. Потом перешел на SIM800L. Для реализации порта на выход информации можно использовать любой пин, для входа 8, 9, 10,14. Глубоко не разбирался, но думая это связано с тем, что порт начинает работать на прием информации по переходу потенциала в низкий уровень. У процессора срабатывает внешнее прерывание. В качестве входа можно использовать только те пины, на которых можно реализовать внешнее прерывание.
Коллеги всем привет, всем спасибо.
Как обычно с проблемой надо переспать ночь и утром все станет ясно.
Р Е Ш Е Н И Е:
Рro micro нормально работает с SIM800L. Для решения проблемы я использовал в качестве шлейфа второй Pro micro. Запрограммировал возврат по порту с задержкой. Потом перешел на SIM800L. Для реализации порта на выход информации можно использовать любой пин, для входа 8, 9, 10,14. Глубоко не разбирался, но думая это связано с тем, что порт начинает работать на прием информации по переходу потенциала в низкий уровень. У процессора срабатывает внешнее прерывание. В качестве входа можно использовать только те пины, на которых можно реализовать внешнее прерывание.
во первых Sofware Serial захватывает все PCINT прерывания, во вторых нет установки параметров порта (8N1... к примеру), проблема решаема, к примеру тут
Коллеги всем привет, всем спасибо.
Как обычно с проблемой надо переспать ночь и утром все станет ясно.
Р Е Ш Е Н И Е:
Рro micro нормально работает с SIM800L. Для решения проблемы я использовал в качестве шлейфа второй Pro micro. Запрограммировал возврат по порту с задержкой. Потом перешел на SIM800L. Для реализации порта на выход информации можно использовать любой пин, для входа 8, 9, 10,14. Глубоко не разбирался, но думая это связано с тем, что порт начинает работать на прием информации по переходу потенциала в низкий уровень. У процессора срабатывает внешнее прерывание. В качестве входа можно использовать только те пины, на которых можно реализовать внешнее прерывание.
Молодой, ты идиот, прости мой французский. У ПроМикро есть второй ХАРД сериал. Нахера ты кривляешься с софт сериалом? "пАтамушта так в примерах написано"? Не ответ для психически здорового. Примеры для Уно/Нано, в которых один хард сериал. Доходит или еще откровения дебила про "решения" опубликуешь?