【问题标题】:my function-definition seems not get included in void loop我的函数定义似乎没有包含在 void 循环中
【发布时间】:2023-01-05 22:25:52
【问题描述】:

我正在练习和尝试我的模数转换器并尝试这个简单的测试。这是我的代码:

#include <Adafruit_MCP3008.h>

Adafruit_MCP3008 adc;

  float voltage(int raw){
  return raw / 1023 * 4.9;
}

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Serial.println("MCP3008 simple test.");

  adc.begin();
  
}

void loop() {
  int raw = adc.readADC(0);

  Serial.print(raw);
  Serial.print("\t");
  Serial.println(voltage(raw));

  delay(1000);
}

当我打开我的串口监视器时,它只显示“原始”的变化,但我的“电压”功能似乎没有被包括在内,这就是我得到的,你可以看到它只显示原始的结果(在左边),但不显示电压(右侧)serial monitor

我试图确保我在 void 循环内也影响了“电压”功能。在这种情况下,任何人都可以向我解释程序规则吗?

【问题讨论】:

标签: c function arduino arduino-ide arduino-c++


【解决方案1】:

我认为你有一个转换问题。您正在传递一个 int 并将其除以 1023。这将得到 0,然后乘以 4.9 将得到 0.0

您应该将 int raw 转换为 float。

【讨论】:

    猜你喜欢
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2020-09-16
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    相关资源
    最近更新 更多