Как получив в UART "Ring" ответить ATA?
- Войдите на сайт для отправки комментариев
Чт, 26/06/2014 - 13:22
Уважаемые Гуру!
Я только начал осваивать Ардуино.
Подключил старенький Сименс к COM порту через переходник, при входящем он шлет в порт "Ring", чтобы поднять трубку нужно ответить "ATA". Аппаратная реализация мне не подходит, т.к. я планирую, (поднабравшись опыта), перейти на SIM900.
Поделитесь пожалуйста куском кода, который выполняет следующее:
1. Поднимает трубку
2. зажигает после подъема LED PIN13.
У меня не получается разобраться с типами данных, если будет простой пример, то будет от чего оттолкнуться.
Заранее спасибо.
Вы бы погуглили. Все уже придумано до нас.
гыыы а ты знатно подколол.. давай зачетку :)
Спасибо за желание помочь, но я уже ковырял ;)
Проблема в том, что этот пример реагирует на одиночный символ, а не на слово.
Мне бы пример с разбором принятого через UART на цельные слова... Да с камментами на кириллице...
А то нутром чую, что 1/2 + 0,5 = ЛИТР, а математически доказать не могу :)
Недавно нагуглил вот такую ссылку http://bigbarrel.ru/arduino_serial_uart_net/ сам толком не разобрался как работает но вот что получилось:
Вроде как работает. Удачи.
Что получиться в итоге кинь сюда, мне тоже интересна эта тема.
Логично, учитывая что val есть int. Сделайте его string или как там... ну строковый.
это уже называется "Сделайте за меня! мне лень разбираться!"
Автор, ну колись что у тебя там получилось.
В отъезде я, на отдыхе :)
Скоро вернусь, дорвусь до Дуины, о результатах сообщу.
Заранее спасибо за помощь!
Отдых закончился :(, отчитываюсь :)
Вот что получилось:
Сименс отказал, но в компе все работает чОтко, как пацанчак с рАЁна ;)
Переберу Сименса - отпишусь.
Всем спасибо за помощь!
Можно еще почитать ветку: Помогите новичку дописать код. | Аппаратная платформа Arduin
Где-то со 140-вого сообщения начинается про прием строк. Если "хватит духа", то можно вообще все прочитать :)
По поводу вашего кода.
У вас есть потенциальная проблема.
Вы решаете что это "конец строки", на основании того что в Serial больше ничего нет. А это - совсем не факт. Возможно что "строка еще не успела прийти целиком" (хотя, в случае коротнького RING это и маловероятно, но... предыдущие сообщение может оказвать длинным, и свой "RING" - вы пропустите, потому что у вас, в итоге, в Var образуется что-то типа "предыдущиеСообщениеRING", что естественно не равно "RING".
Вообщем "конец строки", нужно определять по символам \r или \n (или и то и другое).