#include <DMXSerial.h>
const int addr2 = 5;
const int Led2Pin = 13;
void setup() {
DMXSerial.init(DMXReceiver);
pinMode(Led2Pin, OUTPUT); // пин как выход
digitalWrite(47, LOW);
digitalWrite(49, LOW);
}
void loop()
{
analogWrite(Led2Pin, DMXSerial.read(addr2));
}
Плата Arduino Mega2560 получает DMX- данные через преобразователь MAX485-RS485. С помощью тестовой программки данные с конкретного адреса пачки данных выводятся на ШИМ-выход 13 и засвечивают с разной яркостью светодиод. При подключении выходов преобразователя к пинам 0,1 всё работает. При подключении к пинам 19,18 и внесении изменения в файл DMXSerial.avr ( раскомментирование строки #define DMX_USE_PORT1) приём не происходит (сигнал 0) и светодиод на контроллере не мигает. Подскажите, пожалуйста, какие могут быть причины?
Может недопонял чего, но в описании библиотеки написано:
DMXSerial - A Arduino library for sending and receiving DMX using the builtin serial hardware port.
Так пишет, что сделано, но не взлетело:
В инструкции: Arduino MEGA 2560
When using the chip on the Arduino MEGA 2560 board you have more than one USART available and maybe you wish to use port 1 instead of port 0. This can be done by enabling the definitions for port1 in the library in file src\DMXSerial_avr.h just uncomment the line
К сожалению, не усекла. Я делаю пока первые шаги в программировании, поэтому и использую готовые библиотеки. Данные куски библиотеки я сравнивала, но максимум что увидела, что значения отличаются во всех строках. Поэтому и обратилась к специалистам, чтоб помогли…Светодиод имела ввиду на преобразователе MAX485-RS485, через который сигнал попадает на Serial1.
Не поняла вопрос. В библиотеке только раскомментировала “#define DMX_USE_PORT1”, чтобы получать dmx-сигнал на 1 порт (вход на 19 пин). Если ошибка в библиотеке, подскажите, пожалуйста, где именно!
всю библиотеку не смотрел, но навряд ли в ней ошибка, если подключение правильное может у меги 1 порт неисправен, залить какой нибудь тестовый скетч и пообщаться с ним через переходник USB-UART может быть…
В примерах есть Сниффер, попробуйте его залить, как раз для приёма использует сериал 1