Raspberry pi 将整数转换为二进制以进行SPI传输

Raspberry pi 将整数转换为二进制以进行SPI传输,raspberry-pi,spi,Raspberry Pi,Spi,我试图将一个整数转换为3字节,通过SPI协议发送,以控制串行芯片。我正在使用spi.xfer2(),但无法使其按预期工作 在我的代码中,我可以调用spi.xfer2([0b00000000,0b11101100,0b10000000])它在我的显示器上显示字母“H”,但当我尝试转换此79616的int值时,它没有给出正确的输出: val=79616 spi.xfer2(val.to_字节(3,'little')) 到目前为止,我的完整代码已经打开,为了比较,这是我的工作 更多细节 我有一个管子

我试图将一个整数转换为3字节,通过SPI协议发送,以控制串行芯片。我正在使用
spi.xfer2()
,但无法使其按预期工作

在我的代码中,我可以调用
spi.xfer2([0b00000000,0b11101100,0b10000000])
它在我的显示器上显示字母“H”,但当我尝试转换此
79616
的int值时,它没有给出正确的输出:

val=79616
spi.xfer2(val.to_字节(3,'little'))
到目前为止,我的完整代码已经打开,为了比较,这是我的工作

更多细节 我有一个管子,它附带了一些用于ESP32板的管子。驱动模块有一个20输出串行芯片来驱动真空管

要将“H”发送到第二个网格位置(因为第一个网格仅显示点或破折号),位将按OUT19-->OUT0的顺序发送到MAX6921,因此使用下表中的LSB。字母“H”具有int值
79616

我可以使用以下方式通过SPI手动成功发送:

spi.xfer2([0b00000000,0b11101100,0b10000000])
我遇到的问题是试图将字符串中的其他字母转换为正确的位。我可以检索字符串中任何字符(0-9,A-Z)的整数值,但无法解决如何将其转换为
spi.xfer()
/
spi.xfer2()

我的代码

def显示写入(val):
spi.xfer2(val.to_字节(3,'little'))
#在网格位置上循环
def更新_显示()
全球网格索引
val=网格[grid_index]|字符到代码(消息[grid_index:grid_index+1])
显示/写入(val)
网格索引+=1
如果(网格索引>=9):
网格索引=0
到目前为止,我的代码的完整源代码已打开

MAX6921数据输出引脚到IV-18管引脚的映射:

一点 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8. 7. 6. 5. 4. 3. 2. 1. IV-18 G9 八国集团 七国集团 G6 G5 G4 G3 G2 G1 A. B C D E F G 数据处理 MAX6921 0 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 16 17 18 19
这是一个一般的编程问题,不是一个特定于Pi的问题。@joan道歉-我不知道在我使用spidev的方式中是否有特定于RPi的东西。您是否可以标记将此迁移到SO,或者我最好关闭此文件并在此处打开一个新问题?这是否回答了您的问题<代码>用于映射中的i(lambda y:int({:08b})。格式(y)[::-1],2),int(79616)。to_字节(3,'little'):打印(“%02x”%i)-->
00ec80
,这是您想要的。