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

Создаем свой блок. Вопросы, помощь знатоков.
Ответить
3BEPb
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2020{, 14:00}
Репутация: 0
Имя: Yura

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

#1

Сообщение 3BEPb » 19.04.2020{, 14:58}

Доброго времени суток!!

Создал новый пользовательский блок для измерения напряжение на АЦП. Работает по 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;

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#2

Сообщение Ingwar » 19.04.2020{, 15:41}

Ваш вопрос порождает еще больше вопросов к Вам. Угадайте почему.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

3BEPb
Рядовой
Сообщения: 8
Зарегистрирован: 19.04.2020{, 14:00}
Репутация: 0
Имя: Yura

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

#3

Сообщение 3BEPb » 19.04.2020{, 15:58}

Если можете помочь, то буду Вам благодарен, если нет, то не надо умничать!!

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

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

#4

Сообщение Dragony » 19.04.2020{, 18:18}

Наверное, требуется выложить все блоки, а не только этот кусок.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#5

Сообщение Sancho » 20.04.2020{, 07:46}

3BEPb писал(а):
19.04.2020{, 14:58}
while ((millis() - start_time) < 1000)
Вы в течении 1 сек находите максимум показаний, а цикл стоит, соответственно опрос тоже.
Используйте не while, сделайте иначе.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Разработка пользовательских блоков»