你(们)好
我想在代码中执行位字段、如位字段 TI。
我这样做:
在我的 Global_VAR.c 文件中、我编写代码。
结构状态七透明度{
uint16 Enable_transmition :1;
uint16 CH1_transmit :1;
uint16 CH2_transmit :1;
uint16 ch3_transmit:1;
uint16通道4_transmit:1;
uint16 rsv11:11;
};
联合转换 Service_REG{
uint16全部;
结构状态七 Transmition 位;
};
结构 Service_REG{
联合转换 Service_REG 转换 Service_REG;
};
结构 Service_REG SERVICE_REG;
那么、在我的 Global_Var.h 文件中、我接下来写入:
结构状态七透明度{
uint16 Enable_transmition :1;
uint16 CH1_transmit :1;
uint16 CH2_transmit :1;
uint16 ch3_transmit:1;
uint16通道4_transmit:1;
uint16 rsv11:11;
};
联合转换 Service_REG{
uint16全部;
结构状态七 Transmition 位;
};
结构 Service_REG{
联合转换 Service_REG 转换 Service_REG;
};
extern struct Service_REG service_REG;
在 main.c 文件中、我写入:
Service_REG.TransmiionService_REG.bit.Enable_transmition = 1;
Code Composer 使构建和排序正常。 但我不确定我的位字段是否正确声明。 首先、在 Global_Var.h 文件中、我在 结构之间写入 extern、如下所示:
extern struct StatusSeviceTransmition{
uint16 Enable_transmition :1;
uint16 CH1_transmit :1;
uint16 CH2_transmit :1;
uint16 ch3_transmit:1;
uint16通道4_transmit:1;
uint16 rsv11:11;
};
生成器生成此警告: 警告#1054-D:可能未在此指定存储类。
请告诉我、我是否正确地声明了我的结构? 如果不是、那么它是如何正确的?