На графике, полученном из микроконтроллера, некоторые значения оказывались нулевыми. При этом измерительная часть возвращать ноль не могла по техническим причинам. Какое-то время это никого не беспокоило, но всё-таки это было плохо. Надо было разобраться, в чём дело.

Сначала я проверил, что нули действительно приходят из микроконтроллера в компьютер. Они приходили.

Потом я временно заменил измерения со всех других источников на фиксированные значения (100 у.е., 200 у.е. и т.д.), подозревая, что у меня путаются значения от разных источников. Но это не помогло -- по основному каналу измерения всё равно приходили именно нули.

Тогда я поставил точку останова в месте, где я получаю измеренное значение из микросхемы. Если получен ноль -- остановить программу. Не срабатывает.

Тогда я поставил точку останова в месте, где я сохраняю полученное значение в массив данных. Если сохраняется ноль -- остановить программу. Не срабатывает.

То есть, ноль не записывается, но приходит. Так, что ли?

А потом я вспомнил, что я когда-то сделал специальную подсистему для отслеживания пропущенных по разным причинам значений. И эта подсистема компенсирует пропущенные значения, сохраняя дополнительные в тот момент, когда пропуск обнаружен. А чтобы легче было опознать, был пропуск или нет, я сам намертво зануляю измеренное значение. И сохраняю его. Но делаю я это в другом месте, а не в том, где я ставил точки останова. Естественно, они не срабатывали.