我无法获得使此代码真正工作的函数。
lastVal = val;
val = digitalRead(DT);
if (val == 1 && lastVal == 0)
{
if (digitalRead(CLK) == 1)
{
pos++;
}
else
{
pos--;
}
}
有人能帮帮我吗?
我不确定这是否是您的全部代码,但如果这是全部代码,那么我知道原因。Arduino要求在代码中引用基本的设置和循环函数,只要它被引用,你就应该没事——你甚至可以把函数的内部留空。你并没有很好地问这个问题,所以很难理解你的意思。
要创建一个函数,您可以使用以下代码:
void function_name_here(_parameters_here_)
{
//Code Here
}
要引用该函数,只需使用声明即可
function_name_here();
从外观上看,你可能想把你的代码放在循环函数中,你的代码可能看起来像这样:
int DT = /* Value here */;
int pos = /* Value here */;
void setup()
{
pinMode(DT, INPUT);
}
void loop()
{
lastVal = val;
val = digitalRead(DT);
if (val == 1 && lastVal == 0)
{
if (digitalRead(CLK) == 1)
{
pos++;
}
else
{
pos--;
}
}
}