Зачем так писать код??? (непрограммистам неинтересно)
Сейчас пишу управляющую программу к одной промышленной железке.
Железка сама очень даже замечательная, работает как часы и измеряет что нужно совершенно прекрасно.
Но вот микропрограмма внутри этого устройства, написана мягко говоря "странновато".
Несколько параметров задаются (начало...конец диапазона измерений, например).
Сегодня тестировал свою программу перебирая с маленьким шагом весь диапазон доступных значений этого параметра.
Наблюдаю следующую картину:
-12.1 - нормально принимает значение
-12.15 - ошибка
-12.2 - норма
...
-999 - норма
9999 - норма
-6.231 - ошибка
-6.23 - норма
6.231 - норма
999.2 - норма
999.21 - ошибка
9998.5 - ошибка
Причем "родной", фирменный, конфигуратор этой штуковины вел себя точно так же!
Сбоил на этих же значениях.
Очень несразу до меня дошло, что где-то внутри микропрограммы, полученное число переводят в строку символов, длиной 5 знаков, и минус - тоже знак!
Вот зачем так делать? Все равно потом переводить обратно, для занесения в регистр!
В документации об этом нюансе, естественно, ни слова.
Лига фрилансеров
1.9K постов16.9K подписчика
Правила сообщества
Не забывайте поддерживать авторов плюсами!
Нельзя:
- Добавлять нетематические посты, последнее решение за модератором
- Рекламировать какую-либо продукцию в виде постов
Можно:
- Делится любыми интересными историями, связанными с фрилансом :)