Arduino有没有统计某针脚触发次数的库函数?
本帖最后由 zslibra 于 2012-7-15 09:44 编辑Arduino有没有统计某针脚触发次数的库函数?
比如说arduino基础中的按钮实验,统计一下按钮按下次数。
个人感觉这个函数还是很有用的,可以通过按键次数来触发某些过程。 pluseIn脉冲出发函数,然后计数。 pulseIn返回的是时间,怎样计数呢?能否写一个例程参考一下
请指教~~ for循环不就好了么?一直检测0-13口的电位变化,变一次加一~ 本帖最后由 zslibra 于 2012-7-15 09:43 编辑
看来没有系统标准库了,只能自己写个库解决了,发上来给大家看看
Pushcounter.h#ifndef Pushcounter_h
#define Pushcounter_h
class Pushcounter
{
public:
Pushcounter(int buttonpin);
int counter();
private:
int _buttonpin;
int _buttonpush1,_buttonpush2;
int _buttonrelease1,_buttonrelease2;
int _debounceDelay;
unsigned int _count;
};
#endif
Pushcounter.cpp
#include "Arduino.h"
#include "Pushcounter.h"
Pushcounter::Pushcounter(int buttonpin)
{
pinMode(buttonpin, INPUT);
_buttonpin = buttonpin;
_count=1;
_debounceDelay=50;
}
int Pushcounter::counter()
{
while(true) {
_buttonpush1=digitalRead(_buttonpin);
delay(_debounceDelay); _buttonpush2=digitalRead(_buttonpin);
if(_buttonpush1 && _buttonpush2) break; //每个状态读取两次,防止因噪声造成误判
else continue;
}
while(true) {
_buttonrelease1=digitalRead(_buttonpin);
delay(_debounceDelay);
_buttonrelease2=digitalRead(_buttonpin);
if(!_buttonrelease1 && !_buttonrelease2) break;
else continue;
}
return(_count++);
} zslibra 发表于 2012-7-15 09:14 static/image/common/back.gif
看来没有系统标准库了,只能自己写个库解决了,发上来给大家看看
Pushcounter.h#ifndef Pushcounter_h
楼主,能不能提供一个主程序范例。小弟初学,不太会看库程序。
页:
[1]