想知道是否有人在位域中看到了这个问题。 我有以下内容
struct userWakeFlags
{
volatile char wakeUpFlag:1;
volatile joinchar SwitchFlag:2;
volatile char clientJoinFlag:1;
volatile char swlockout:1;
};
我在客户端和主机上运行代码。 根据 P2.1通过 EVM 上的跳线被拉低或拉高、代码具有条件、如果为真、则配置计时器。 如果发出 WAKEUUPFlag、则可以根据计时器进行切换。 客户端(P2.1)未声明。 当我在5分钟左右之后将代码移动时、代码将停止、我注意到客户端上的 WakeUpFlag 已设置。 这是怎么可能的?
在同一个主题上,joinSwitchFlag 只被设置为1或2,有时(运行5或10分钟)代码停止,我在这个标志上得到值3。。。 这是怎么可能的? 此标志基于主机和客户端上的交换机。 有时主机端会中断、有时客户端会中断。 当开关被按下时,它只能在主机端发生变化,但是我离开了我的办公桌,我会回来的,注意到它已经停止了,看到标志被设置为3......
是否有人看到位字段损坏? 我是否应该不使用它们?
谢谢
