Передача через Ethernet функцией DigitalRead
- Войдите на сайт для отправки комментариев
Пнд, 15/03/2021 - 19:46
Всем привет! Господа и дамы, вдруг таковые в наличии, есть проблема с передачей по протоколу Ethernet. Шесть аналоговых сигалов от датчиков температуры передаются функцией analogRead без проблем. Мне нужно передать также данные от расходомера, а он имеет цифровой выход. Предполагаю, что смогу с помощью UART передать слово в Arduino Ethernet, а вот как дальше не знаю. Функция digitalRead передаёт сигнал с какого то конкретного pin. По идее надо выполнять сдвиговые операции, но выглядит это как то туповато. Может кто в курсе? Спасибо.
Все слова знакомые, а смыла уловить не могу.
UART - это там к чему? А сдвиговые операции?
через Ethernet функцией DigitalRead
так не бывает
Расходомер построен на ATmega8, модуль Arduino Ethernet - на Atmega328. Обычно между процами я использую передачу по протоколу UART. Я могу с помощью ЦАП преобразовать цифровой сигнал расходомера в аналоговый и устроить передачу по Ethernet знакомым способом, но это плохой вариант, поскольку теряется точность. Я не знаю, каким образом в скетче указать регистр ATmega328 для передачи. Функция analogRead сама обеспечивает последовательную передачу в контроллер Ethernet, ну а тот знает, что делать дальше.
а как бывает?
а как бывает?
Спросите у разработчика, который вам это написал.
Я, собственно, у него и спрашивал.
Функция analogRead сама обеспечивает последовательную передачу в контроллер Ethernet
что за бред? Кто вам сказал эту чушь?
Я, собственно, у него и спрашивал.
а кто разработчик? Он тут, на форуме?
Вот фрагмент этого "бреда", который работает в моей железке:
Может укажете номер строки, где аналогрид() " сама обеспечивает передачу значения через эзернет"?
Мда, конфуз вышел. Код писал 4 месяца назад. Ардуино у меня это маленькая, но важная часть проекта, поэтому я не самый большой спец в написании скетчей. Может подскажете хороший способ передачи данных с ATmega8 в Ардуино.
Может подскажете хороший способ передачи данных с ATmega8 в Ардуино.
через UARt можно, только не пишите заумных слов про "регистры". И еще - сами процедуры analogWrite() и digitalWrite() ничего никуда передать не могут. это должна делать ваша программа.
все довольно банально - считали значение с пина digitalWrite(), сохранили в переменную. переменные собрали в пакет и передали по UART. На другом МК этот пакет надо принять и распарсить.
Если, судя по предыдущим высказываниям, в этом тексте вам не все понятно - поищите библиотеку VirtualWire и почитайте примеры к ней
Спасибо. Только процесс в другую сторону. От ATmega8 в Ардуино, а указанную библиотеку и примеры обязательно посмотрю.
Спасибо. Только процесс в другую сторону. От ATmega8 в Ардуино
а есть какая-то разница? :)))
Я жуткий зануда