Страница 1 из 1

Отсутствует связь по Modbus

Добавлено: 19 апр 2020, 14:58
3BEPb
Доброго времени суток!!

Создал новый пользовательский блок для измерения напряжение на АЦП. Работает по UART нормально, а вот по Modbus почему то нет линка, от мастера запросы приходят, а ардуино ответы не отправляет. Если убираю этот блок, то линк появляется. Код написал ниже. Помогите плиз, а то уже не знаю что делать :smile37: !

float result;
int readValue;
int maxValue = 0;
uint32_t start_time = millis();
while ((millis() - start_time) < 1000)
{
readValue = analogRead(A0);
if (readValue > maxValue) {
maxValue = readValue;
}
}
result = (maxValue * 5.0) / 1024.0;
return result;

Отсутствует связь по Modbus

Добавлено: 19 апр 2020, 15:41
Ingwar
Ваш вопрос порождает еще больше вопросов к Вам. Угадайте почему.

Отсутствует связь по Modbus

Добавлено: 19 апр 2020, 15:58
3BEPb
Если можете помочь, то буду Вам благодарен, если нет, то не надо умничать!!

Отсутствует связь по Modbus

Добавлено: 19 апр 2020, 18:18
Dragony
Наверное, требуется выложить все блоки, а не только этот кусок.

Отсутствует связь по Modbus

Добавлено: 20 апр 2020, 07:46
Sancho
3BEPb писал(а): 19 апр 2020, 14:58 while ((millis() - start_time) < 1000)
Вы в течении 1 сек находите максимум показаний, а цикл стоит, соответственно опрос тоже.
Используйте не while, сделайте иначе.