spid[ucNum].rin = uwTmp; spid[ucNum].rout = PID_Cal(&spid,ucNum,spid[ucNum].rin); spid[ucNum].high_time = (unsigned char)(((spid[ucNum].rout)&0xFFFF)/40);
时间: 2024-04-25 22:27:31 浏览: 159
这段代码中的PID_Cal函数是一个计算PID控制器输出的函数,其返回值为一个float类型的数据。该函数需要传入三个参数:一个指向spid数组的指针、当前温度控制通道号ucNum和当前输入的温度值spid[ucNum].rin。在该函数中,会根据PID控制器的算法计算出当前的控制器输出值spid[ucNum].rout,并将其存储在spid[ucNum].rout中。接下来,将spid[ucNum].rout这个float类型的数据转换为一个0-255之间的整数,存储在spid[ucNum].high_time中,用于控制温度控制器的工作。这里的转换方式是将spid[ucNum].rout的低16位取出来,并将其除以40,然后将结果转换为unsigned char类型。
阅读全文