Serial.Опрос 2-ух датчиков через rx и tx
- Войдите на сайт для отправки комментариев
Чт, 24/10/2019 - 13:25
Добрый день!
Подскажите пожалуйста, как можно реализовать код,чтоб один датчик собирал данные,а второй был неактивен и наоборот.
Заранее спасибо!
RS485
Добрый день!
Подскажите пожалуйста, как можно реализовать код,чтоб один датчик собирал данные,а второй был неактивен и наоборот.
Заранее спасибо!
Отключать ненужный датчик. Реализовать можно разными способами в зависимости от того что у вас за датчики.
Два ADXL 345
Два ADXL 345
ADXL 345?? А причем, тогда, здесь RX/TX? Этот чип может общаться с МК или по I2C или по SPI. Если поключать по I2C то нужный датчик выбирается программно, нужно только у них разные адреса перемычкой выставить. А если по SPI то сигналы CS заводятьсч на разные пины и при подаче на соответствующий пин LOW датчик активируется.
А как найти эту перемычку и выставить разные адреса двух датчиков,если библеотекой датчик ограничен адресом 0x53?
Библиотека не может ограничить адрес. При замыкании 12 ноги микросхемы адрес меняется. Пытливый ум может залезть в библиотеку и поменять адрес. Но скорее всего в библиотеке есть метод установки адреса при инициализации. Просто надо открыть библиотеку и посмотреть. Это нужно Вам. Нам лезть и разбираться нет времени.
А как найти эту перемычку и выставить разные адреса двух датчиков,если библеотекой датчик ограничен адресом 0x53?
В режиме I2C для выбора адреса используется пин SDO датчика.
А как тогда через пин SDO датчика менять их,если адреса то одинкаовые 0x53
Извеняюсь за свою тупость,я в первые решил 2 датчика реализовать.
Заранее спасибо за помощь.
Линия ALT_ADDRESS отвечает за адрес акселерометра на шине I2C. При высоком логическом уровне на линии, акселерометру присваивается 7-ми битный адрес со значением 0011101, при низком уровне 1010011.
Из двоичного в шестнадцатеричный переведёте или?
Получается что при высоком уровне получается адрес 0x1D
А при низком уровне присваивывается адрес 0x53
Я вас так понял?
Да. Правильно. Подключены одновременно. Создаете два экземпляра объекта с разными именами и адресами. И обращаететесь поочередно или к тому, которому надо.
А как тогда через пин SDO датчика менять их,если адреса то одинкаовые 0x53
Извеняюсь за свою тупость,я в первые решил 2 датчика реализовать.
Заранее спасибо за помощь.
Открываем даташит (https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf) и читаем черным по белому
With the ALT ADDRESS pin high, the 7-bit I2C address for the device is 0x1D, followed by the R/W bit. This translates to 0x3A for a write and 0x3B for a read. An alternate I2C address of 0x53 (followed by the R/W bit) can be chosen by grounding the ALT ADDRESS pin (Pin 12). This translates to 0xA6 for a write and 0xA7 for a read.
Если не заешь англицкий языка, то google translate в помощь.
А как теперь схему соединения или код написать чтоб переключались?
А как теперь схему соединения или код написать чтоб переключались?
Лучше всего - руками и с участием головы. Все, что необходимо вам уже разжевали. Что теперь и в рот сами положить не можете?
Я программист,а не человек который разбирается в электротехнике.
Мои познания в пайке и все что связанно с электронникой = 0
Это надо для человека который мне спаяет схему,чтоб я ее запрограммировал.
Я программист,а не человек который разбирается в электротехнике.
Мои познания в пайке и все что связанно с электронникой = 0
Это надо для человека который мне спаяет схему,чтоб я ее запрограммировал.
А умение пользоваться гуглом в познания программиста не включены?
https://www.google.com/search?hl=&site=&q=подключение+устройств+i2c