我正在尝试制作一个简单的 C++ 循环程序来通过 SPI 从 MCP3004 读取模拟值。我正在使用wiringPi 库来使代码超级清晰。函数工作正常,我得到正确的数字但不是循环。我只有 3 次第一次读取,之后只有 0 次。我查看了 WiringPi 引用、库,但没有发现任何对我有帮助的东西。我试图改变延迟时间,但仍然只得到 3 个第一个正确的值。也许有人遇到过这种问题并且知道答案?非常感谢任何帮助。
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <mcp3004.h>
int main()
{
int wart;
wiringPiSetupGpio();
mcp3004Setup (100,0);
while(true)
{
for(int i=0;i<4;i++)
{
wart=analogRead(100);
printf("Value: %d\n", wart);
delay(1000);
}
delay(5000);
}
}
这段代码给了我例如:值:1004,值:1003,值:500,而不仅仅是值:0