Здравствуйте!!! Что-то Я совсем растерялся с I2С на Iskre JS. Вот если у меня есть i2c устройство с адресом например 0b1101001 (0x69) то как к нему обратится на искре js и прочитать значение из регистра например например адрес регистра 0x02, это вообще возможно. В функциях только адрес устройства на шине а как взять адрес регистра и прочитать содержание регистра. Конечно устройство слейв. Искра js мастер. Может кто-то пробовал что-то делать с I2C так? Буду признателен за ответ.
Ну это понятно хорошо спасибо, мерси.Но я уточню тогда вопрос чтобы как то понятнее было например в библиотеке HAL для STM32 есть функция HAL_I2C_Mem_Read(&I2cHandle, 0x68<<1, (uint16_t) 0x82, 0x00000001U, (uint8_t *)&aRxBuffer[11], 0x00000001U, (uint32_t) 100); она считывает в данном случае из устройства по адресу 0x68 на шине i2c значение регистра имеющего адрес 0x82 и складывает в элемент массива RxBuffer[11]. Вот тоже самое только на Искре JS возможно повторить и записать в конкретную ячейку с адресом таким-то у устройства с адресом таким то на шине?
http://easyelectronics.ru/interface-bus-iic-i2c.html http://wiki.amperka.ru/js:i2c https://github.com/amperka/espruino-modcat/blob/master/modules/@amperka/rtc.js http://www.espruino.com/modules/AT24.js запись в регистр: Код (Javascript): I2C.writeTo(адрес_устройства, [регистр_куда_писать, данные]); чтение из регистра: Код (Javascript): I2C.writeTo(адрес_устройства, регистр_откуда_читать); I2C.readFrom(адрес_устройства, кол-во байт);
Код (Javascript): // Настройка интерфейса // (необязательна при использовании выделенных I2C) I2C1.setup({sda:B9 , scl: B8, bitrate: 400000}); // Передача пакета данных I2C1.writeTo(0x29, 0x00); // Приём данных var myByte = I2C1.readFrom(0x29, 1); USB.println(myByte); Вот такой код для Амперкинского приближометра https://amperka.ru/product/troyka-proximity VL6180 вот я хочу согласно даташиту спросить у датчика кто он т.е. на 0x29 адрес посылаю прочитать из регистра 0x00 и он мне присылает один раз 0xB4 (180) но если я повторно загружаю программу то шлет все что угодно только не 0xB4 (180) с чем это может быть связано? После обесточивания и подключения заново все так же один раз шлет потом нет(