Перейти к содержанию
    

I2C - Чтение регистров с 2хбайтными адресами

Возникла трудность в общении с микросхемой по шине I2C в Linux + python3.

пользую библиотеку Smbus2 для работы по протоколу I2C.

Мне требуется такой формат общения при чтении:

image.thumb.png.950841ed149475919f5e3801b48235f2.png

Стандартными функциями чтения мне не удалось считать данные так как анализатор шины показал что можно формировать только один байт адреса регистра чтения, а мне нужно 2.

Получилось через функцию i2c_rdwr сделать нужный фрейм:

#!/usr/bin/env python3
from smbus2 import SMBus, i2c_msg

with SMBus(0) as bus:
    write = i2c_msg.write(59, [0xF0, 0x20])
    read = i2c_msg.read(59, 2)
    bus.i2c_rdwr(write, read)

 

с 2мя байтами субадреса регистра, что видно на логане:

image.png.1c4d446629e4a667c43c3e18d83e7cd1.png

 

По анализатору я получаю свои данные: 00 06 и структура соответствует спецификации.

Проблема в том что функция не возвращает данные в явном виде, я не понимаю где их забирать.

 

Как я могу получить байт лист?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в документации на этот smbus2

после i2c_rdwr() в созданную ранее переменную read заглядывали, что там внутри лежит в read.buf?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, _pv said:

в документации на этот smbus2

после i2c_rdwr() в созданную ранее переменную read заглядывали, что там внутри лежит в read.buf?

 

  print(read_msg.buf)


<ctypes.LP_c_char object at 0xffffbb8a7f40> и значение 0xffffbb8a7f40 меняется всегда. это указатель? как его использовать?

Изменено пользователем BloomJack

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...