i2c на myRIO-1900

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

i2c на myRIO-1900

Postby Artem.spb on 28 Aug 2017, 23:42

Есть 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.
Artem.spb
expert
expert
 
Posts: 1308
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 224
CLD hardware I/O VIP freelance

Re: i2c на myRIO-1900

Postby Blackman on 29 Aug 2017, 02:25

... 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
Blackman
leader
leader
 
Posts: 720
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 187

Re: i2c на myRIO-1900

Postby Artem.spb on 29 Aug 2017, 09:40

В таблице адреса >127, что меня удивляет, т.к. до сих пор я думал, что адрес 7 байт.
Artem.spb
expert
expert
 
Posts: 1308
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 224
CLD hardware I/O VIP freelance

Re: i2c на myRIO-1900

Postby Borjomy_1 on 29 Aug 2017, 22:52

Там младший бит - признак чтения/записи. Поэтому все сдвигается. Те не 51, а A2
Borjomy_1
expert
expert
 
Posts: 1786
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 310
VIP

Re: i2c на myRIO-1900

Postby Artem.spb on 30 Aug 2017, 08:59

разобрался.
сналала отправить 0-81, подождать, отправить 2, прочитать 2 байта.
Artem.spb
expert
expert
 
Posts: 1308
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 224
CLD hardware I/O VIP freelance


Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 1 guest

cron