Не работает RX1 TX1

Доброго времени суток, есть система due(slave) отправляет данные на max485, по modbus, но даже лампочки rx tx не моргают вообще. Не могу понять в чем проблема. вот код


#include <ModbusRtu.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// Настройки Modbus
uint8_t id = 1; 
uint8_t txenpin = 2; 
Modbus modbus(id, Serial1, txenpin); 
const int REGISTERS_SIZE = 10;
uint16_t modbus_registers[REGISTERS_SIZE];
int sensorPin1=22;
float temperature1=0.0;
// Настройки для датчика температуры DS18B20
OneWire oneWire(sensorPin1);
DallasTemperature sensors(&oneWire);


void setup() {

 Serial1.begin(115200);
 Serial.begin(115200);
 modbus.start();
 sensors.begin();  // Инициализация библиотеки DallasTemperature

}



void loop() {

 sensors.requestTemperatures(); // Запрос температуры с датчика
 temperature1 = sensors.getTempCByIndex(0); // Чтение температуры
 Serial3.println("Hello, World!");

 // Конвертируем и сохраняем температуру в регистры Modbus
 modbus_registers[0] = static_cast<uint16_t>(temperature1 * 100);
 //Serial.print(temperature1);
 // Обновление состояния Modbus
 modbus.poll(modbus_registers, REGISTERS_SIZE);
 // Serial1.write(1);
// Serial1.println("Hello, World!");

}

Время на конверсию ты не учитываешь? Не менее 750мс.

Поставил задержку, ничего не поменялось

Возможно, подключили не правильно, RX TX перепутали.
Почему нет схемы?

1 лайк

да у него там всё смешалось. инициализует он Serial и Serial1, а данные потом пхает в неинициализированный Serial3, что человек хочет, непонятно…

А какие там “лампочки” на Serial1?

1 лайк