if (*(short *)ThresholdAddress == 0xffff)
{
threshold = thresholdDefault;
{
threshold = thresholdDefault;
}
如上所示这个在调试当中一直为假,在看汇编代码与寄存器跟踪调试的时候发现与0xffff比较的数不是short型而是一个32bit的数据
如果换成
if (*(unsigned char *)ThresholdAddress == 0xff)
{
threshold = thresholdDefault;
}
可以得到正常结果
所以记录下来以后慢慢研究