@ Габриэль: я еще не пробовал. Я должен был перейти к другому проекту. Но я позабочусь о том, чтобы проверить это как можно скорее.

аюсь подключить датчик давления (MS5803-14BA) к моей плате (NUCLEO-STM32L073RZ).

Согласнотехническая спецификация (стр. 3), датчику давления требуется несколько миллисекунд, прежде чем измерение будет готово к считыванию. Для моего проекта меня заинтересует самое высокое разрешение, для преобразования необработанных данных потребуется около 10 мс.

К сожалению, у этого датчика давления нет ни одного прерывателя, который можно было бы использовать, чтобы увидеть, когда измерение будет готово, и поэтому я временно решил проблему, поставив задержку после запроса новых данных.

Мне не нравится мое текущее решение, так как за эти 10 мс я мог заставить mcu работать на чем-то другом (у меня есть несколько других датчиков, подключенных к моей плате), но без какого-либо контакта прерывания я не уверен в том, что является Лучший способ решить эту проблему.

Мне пришло в голову другое решение: использовать таймер, который срабатывает каждые 20 мс и выполняет следующие операции:

1.a Read the current value stored in the registers (discarding the first value)
1.b Ask for a new value

Таким образом, на следующей итерации мне просто нужно прочитать значение, запрошенное в конце предыдущей итерации.

Что мне не нравится, так это то, что моему измерению всегда будет 20 мс. До тех пор, пока задержка не будет составлять 20 мс, все должно быть в порядке, но если мне нужно будет уменьшить скорость, «возраст» чтения с моим решением увеличится.

У вас есть другие идеи о том, как с этим бороться?

Спасибо.

Примечание. Пожалуйста, дайте мне знать, если вам нужно увидеть мою текущую реализацию.

Ответы на вопрос(2)

Ваш ответ на вопрос