在Python字典中将C struct与u8、u16一起使用
我有一个C结构,如下所示在Python字典中将C struct与u8、u16一起使用,python,c,dictionary,struct,user-defined-data-types,Python,C,Dictionary,Struct,User Defined Data Types,我有一个C结构,如下所示 struct spi_header { u8 SpiCmd :5; u8 channel :1; u8 kac :2; }; 我需要在python中使用它,所以我尝试使用字典,如下所示 spi_header = { 'SpiCmd': , 'channel': , 'kac': } 我尝试为成员分配范围,如'SpiCmd':(0:5) 正在尝试将字节拆分为C结构中指定的范围。但我发现语法错误。我知道是的,因为无法像我尝试的那
struct spi_header
{
u8 SpiCmd :5;
u8 channel :1;
u8 kac :2;
};
我需要在python中使用它,所以我尝试使用字典,如下所示
spi_header = { 'SpiCmd': , 'channel': , 'kac': }
我尝试为成员分配范围,如'SpiCmd':(0:5)
正在尝试将字节拆分为C结构中指定的范围。但我发现语法错误。我知道是的,因为无法像我尝试的那样指定范围(5、1、2)。那么,我该如何用python编写代码呢?有人能帮我吗?你的问题是如何在python中使用位字段吗?首先,请注意,这段代码一开始不是标准的C。对位字段使用某些8位类型是一种非标准扩展。此外,C也没有指定位顺序。所以这段代码在C中的作用是谁都猜得到的。