arduino控制数码管读取温度值并闪烁时数码管十位受影响,原本实际温度24最后显示出来的实际温度是44
时间: 2024-03-16 10:41:36 浏览: 83
数码管显示温度
如果在 Arduino 控制数码管读取温度值并闪烁时,数码管十位受影响,原本实际温度为 24,最后显示出来的实际温度是 44,那可能是因为你在计算温度值时出现了错误。
具体来说,如果你的代码中没有正确处理温度的符号,那么可能会导致计算出来的温度差值错误,从而导致数码管显示的实际温度不正确。
为了解决这个问题,你可以在计算温度差值时,使用绝对值函数来确保得到的温度差值始终为正数。例如:
```c++
float temperature = readTemperature(); // 读取温度值
int ratedTemperature = 48; // 额定温度值为 48 度
int temperatureDiff = abs(ratedTemperature - temperature); // 温度差值
int tens = temperatureDiff / 10; // 十位数值
int ones = temperatureDiff % 10; // 个位数值
display(tens, ones); // 在数码管上显示温度值
```
在上面的示例代码中,我们使用 abs() 函数来计算温度差值,这个函数会返回两个数值的绝对值。然后再将差值分别除以 10 和取模 10,得到数码管的十位和个位数值,最后将数码管的数值显示出来。这样就可以避免符号对计算结果的影响了。在这个例子中,计算出来的温度差值是 24,显示出来的温度值就是 24。
阅读全文