STM32定义一个BYTE实际占用多少内存?又如何定义一个bit呢
2个回答
展开全部
1个BYTE 即8bit( 8位 ),一个字节
无法直接定义一个bit,不过你可以在某个固定地址开辟一个空闲区域(可以是一个Byte,也可以是多个Byte),然后用STM32的位访问方式去访问这个区域的指定位(bit),具体算法请参考STM32的数据手册。
另外C语言的struct提供了一个按bit定义的方法,如
typedef struct
{
unsigned char a:1;
unsigned char b: 2;
unsigned char c: 3;
unsigned char d;
}Item_type;
结构体中的
a占用1个bit,
b占用2个bit,
c占用3个bit,
多余一个字节,空闲没用
d占用8个bit,即一个字节。
无法直接定义一个bit,不过你可以在某个固定地址开辟一个空闲区域(可以是一个Byte,也可以是多个Byte),然后用STM32的位访问方式去访问这个区域的指定位(bit),具体算法请参考STM32的数据手册。
另外C语言的struct提供了一个按bit定义的方法,如
typedef struct
{
unsigned char a:1;
unsigned char b: 2;
unsigned char c: 3;
unsigned char d;
}Item_type;
结构体中的
a占用1个bit,
b占用2个bit,
c占用3个bit,
多余一个字节,空闲没用
d占用8个bit,即一个字节。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询