Ryu Kaz
/
767zi
t6est
Diff: rori.cpp
- Revision:
- 0:3dc012104243
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rori.cpp Tue Sep 24 13:35:31 2019 +0000 @@ -0,0 +1,44 @@ +#include "rori.h" +#include "mbed.h" + +RORI::RORI(PinName a,PinName b): pinA(a),pinB(b),DigA(a),DigB(b){ + flag = true; + } + +void RORI::loli(){ + volatile short hear = DigA.read()<<1 | DigB.read(); + if(!dir){ + if(hear == 1){ + dir = hear; + }else if(hear == 2){ + dir = hear; + }else if(!hear){ + dir = 0; + } + }else if(!hear){ + if(old != dir){ + if(dir == 2){ + enc_count++; + }else if(dir == 1){ + enc_count--; + } + } + dir = 0; + } + old = hear; + } + +//long RORI::read(){ + + // return(enc_count); + // } + void RORI::read(long *a){ + pinA.rise(this,&RORI::loli); + pinA.fall(this,&RORI::loli); + pinB.rise(this,&RORI::loli); + pinB.fall(this,&RORI::loli); + *a = enc_count; + } +bool RORI::getflag(){ + return(flag); + } \ No newline at end of file