Страница 1 из 1

i2c на myRIO-1900

Добавлено: 28 авг 2017, 23:42
Artem.spb
Есть myRIO-1900 и есть ультрасоник
http://coecsl.ece.illinois.edu/ge423/de ... ranger.pdf
Пытаюсь получить с него данные БЕЗ fpga.
вот код
myrio.png
Если я правильно понял инструкцию, то по запросу "81" (51 в hex) датчик считывает расстояние и возвращает 2 байта. Их я и пытаюсь получить.
Т.к. 81 не сработало, перебрал все 255 вариантов. Результат тот же, ошибка с неведомым кодом (или что-то вроде "пришли странные данные").
Адрес пробовал перебирать, но работает только 0, что мне кажется подозрительным (уж не хост ли это).
При этом если читать 0 байт, то ошибки нет, а вот при любом количестве >2 выдаёт ошибку.

что не так, как получить данные? если адрес не тот, то как его узнать?
Адрес 0 выяснил таким же способом: перебрал коннект на все адреса 0..127, но без ошибки только 0.

Re: i2c на myRIO-1900

Добавлено: 29 авг 2017, 02:25
Blackman
... The SRF08 is always a slave - never a bus master.
LED
The red LED is used to flash out a code for the I2C address on power-up (see below). It also gives a brief flash during the "ping" whilst ranging.

И дальше таблица с адресами и соответствующее количество включений светодиода. Адреса - четные значения чисел из диапазона 224 ... 254 (всего 16 возможных значений). 0 адрес - General Broadcast address - только для одновременной передачи во все устройства (например передачи команды на начало измерения). А результаты должны считываться по заданным адресам устройств.

Upd. При записи и чтении необходимо указывать адрес регистра (location) на устройстве.
1. Адрес устройства - Адрес регистра для записи (Location) - Команда на запуск измерения - Количество байтов для чтения 0.
2. Пауза 65 мс
3. Адрес устройства - Адрес регистра для чтения (Location) - Количество байтов для чтения N

Re: i2c на myRIO-1900

Добавлено: 29 авг 2017, 09:40
Artem.spb
В таблице адреса >127, что меня удивляет, т.к. до сих пор я думал, что адрес 7 байт.

Re: i2c на myRIO-1900

Добавлено: 29 авг 2017, 22:52
Borjomy_1
Там младший бит - признак чтения/записи. Поэтому все сдвигается. Те не 51, а A2

Re: i2c на myRIO-1900

Добавлено: 30 авг 2017, 08:59
Artem.spb
разобрался.
сналала отправить 0-81, подождать, отправить 2, прочитать 2 байта.