0
좋아, 그래서 각 초 나는 아날로그 소스에서 변수로 값을 읽습니다. 이전에 측정 된 값과 비교하고 특정 임계 값 x ifts 이상인 경우 함수를 호출합니다 (또는 다른 작업 ...).입력이 임계 값보다 높으면 함수를 주기적으로 호출하는 알고리즘입니다. 도움이 필요합니다
내 문제는 다음과 같습니다. 아날로그 값이 시간이 지남에 따라 매우 느리게 변할 때 두 측정 값의 차이가 임계 값을 초과하지 않을 경우 절대로 함수를 호출하지 않습니다.
실제로 함수를 호출하면 이전 값의 변수 만 현재 값으로 설정하는 것이 어떻습니까? 어떻게 문제를 해결하겠습니까? 아니면 당신의 제안은 무엇입니까? 미리 감사드립니다.
void main()
{
curVal = readAlgSrc();
prevVal = curVal;
while(1)
{
if(oneSecPassed()) curVal = readAlgSrc();
if(abs(prevVal - curVal) > 4)
{
doStuff();
}
prevVal = curVal;
}
}
이것은 구현 방법에 대한 질문보다는 달성하려는 동작을 정의하는 것과 같습니다. – gcbenison