_pasha
P
- 🟢 11:57 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
- #1
Привет
Пытаюсь применить сабж. Наступил на ТАКИЕ ГРАБЛИ


эпические. Суть кратко.
По даташиту простейший протокол
допустим у меня nss есть пин, я им дергаю вручную
spi это настроенный spi, за что я лублу питон, что там все очень быстро и удобно
где data = 0x40 <register_address> <register_value>
тоесть 3 байта.
spi.write() принимает на вход либо string либо byte array иначе
не вопрос. но тут я делаю херню, т.е. я пишу
и получаю интереснейший глюк: при попытке записать куда-нить число со старшим битом=1 у меня портится несколько регистров
а вот интересно, если кто в теме - расскажете, почему так происходит?
я уже исправил
честно, сидел с понедельника
только сейчас догадался 
причем, начал думать что микросхемы битые!
Пытаюсь применить сабж. Наступил на ТАКИЕ ГРАБЛИ



эпические. Суть кратко.
По даташиту простейший протокол
допустим у меня nss есть пин, я им дергаю вручную
spi это настроенный spi, за что я лублу питон, что там все очень быстро и удобно
Код:
#let's write to reg
nss.value(0)
spi.write(data)
nss.value(1)
тоесть 3 байта.
spi.write() принимает на вход либо string либо byte array иначе
Код:
spi.write([65,0])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object with buffer protocol required
не вопрос. но тут я делаю херню, т.е. я пишу
Код:
def wr(reg,dat): # reg_address , 1byte data
nss.value(0)
spi.write('\x41'+chr(reg)+chr(dat))
nss.value(1)
а вот интересно, если кто в теме - расскажете, почему так происходит?

честно, сидел с понедельника


причем, начал думать что микросхемы битые!