早上好...
我有一个关闭的计时器、我在变量中捕获计数寄存器、溢出计数器也被声明为 volatile unsigned int。 在执行这两次之后、我想对每个变量的两个数字进行一个差异。 我认识到、不能保证这两个数字中的哪一个在任何给定的时间点都比另一个数字大、因此我将使用 ABS 函数进行扩散。 有人能告诉我应该如何声明我的所有变量,因为我很难获得数字来为我提供正确的值....
我假设我将不得不在整个过程中进行拼写。 我的数学看起来像这样: 我改变了温度和温度的声明,没有找到正确的组合....我的其他声明看起来像:
temp = abs (overflowHistory[0]- overflowHistory[1]); 对于(j = 0;j < temp;j++) 加法器+=65536; Tempa = Abs (HoldTime[0]- HoldTime[1]); swVolumeHoldTime =(long) Tempa +(long) adder;
volatile unsigned int overflowHistory[2]={0}; volatile unsigned int HoldTime[2]={0}; long int swVolumeHoldTime = 0、adder = 0;
我已将温度传感器声明为 int,并创建了温度传感器 B 作为无符号 int 进行测试,但我看不到任何差异..... 最重要的是,似乎出现了一些非常奇怪的现象...例如,我在验证了数组和 GOT 中的两个值上的 HoldTime[]={0}后执行了一次运行
HoldTime[0]= 50356
HoldTime[1]= 13715
Tempa 和 tempB 未能显示正确的减法值!! 他们展示了28895?? 即使在所有变量初始化为0的复位后、也会发生此减法错误。
谢谢