@Aladushkas

Как обрабатывать прерывания дальномера VL53L0X?

В моем проекте необходимо использовать 5 дальномеров VL53L0X. Пока что подключила 3 дальномера к 3 разным i2c. В дальнейшем планирую с помощью мультиплексоров добавить еще 2. Взяла библиотеку отсюда https://github.com/Squieler/VL53L0X---STM32-HAL. Нужно как-то переписать ее чтобы можно было переключаться между 3 i2c. Функций для прерываний в ней нет. Может кто работал с этим датчиком?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Нужно как-то переписать ее чтобы можно было переключаться между 3 i2c.

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

Как обрабатывать прерывания дальномера VL53L0X?

Как обычные прерывания GPIO?
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
У каждого датчика свой пин прерывания - их прямо завести в мк на пины с включенной подтяжкой(у датчика открытый коллектор), прерывание настроить на спад. По прерыванию перевести мультиплексор на датчик и выполнить его чтение библиотекой. Тоесть иниты, и работу с каждым датчиком сделать по очереди.

Возможно обернуть библиотеку в свой класс, который будет знать как считать что-то с конкретного датчика.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы