问题是这样的typedef struct _ChRGCOM_
{
uint32_t A;
uint32_t B;
uint32_t C;
uint32_t D;
uint32_t E;
}CHRGCOM;
程序里上面定义了一个全局的结构体,ABCDE分别为不同通信的计时器,正常待机状态下不对C、D、E进行操作,只对A,B进行操作,此A,B能自动计数,自动清零,C,D,E正常显示为0。当程序进入工作状态时,开始对C开始进行计数(A,B也要工作),此时A,C能够正常计数清零,虽然也能够正常计数清零,但B会时不时出现FF FF FF FF,C,D为保留,正常待机时显示为0,进入工作状态时为FF FF FF FF。
后来将B拉出来设一个单独的全局变量F作为计数,不管何种状态F都能正常计数和清零,不会出现上述的时不时跳FF FF FF FF,但是此时观察结构体中,B的值在待机状态与D E一样都显示00 00 00 00,在工作状态下也与D E一样显示FF FF FF FF。
最后将B拉出重新定义了个结构体,此时有两个结构体,一个原先的(含有A,B’,C,D,E,但B‘,D,E为保留,就是不使用),一个新建的(含有A‘,B,C',D,E'
|