QEIその2
Dependents: Nucleo_Motor Nucleo_Motor mbed_test_enc mbed_touteki_MR1 ... more
Fork of QEI2 by
QEIver2です。 前回のQEIよりハードウェアの節約を実現しました。 基本的にメソッドの追加などはないですが、コンストラクタに引数を追加しました。 第五引数にTimerクラスのアドレスを突っ込むことでTimerクラスの共有ができます。 また従来のQEIクラスの非効率的なTimerクラスの使い方をなくすことで、複数のQEIを使うことができました
Diff: QEI.cpp
- Revision:
- 2:6a38785d5f0c
- Parent:
- 1:1f4e8614d0ed
- Child:
- 3:f285adb565b1
diff -r 1f4e8614d0ed -r 6a38785d5f0c QEI.cpp --- a/QEI.cpp Fri Jun 19 06:35:58 2015 +0000 +++ b/QEI.cpp Tue Jul 21 08:12:12 2015 +0000 @@ -133,11 +133,11 @@ return RPUS; } void QEI::encode(void) { - + NVIC_DisableIRQ( I2C_IRQn ) ; int change = 0; int chanA = channelA_.read(); int chanB = channelB_.read(); - + //printf("QEI\n"); currState_ = (chanA << 1) | (chanB); if (encoding_ == X2_ENCODING) { @@ -184,6 +184,7 @@ round_rev--; } prevState_ = currState_; + NVIC_EnableIRQ( I2C_IRQn ) ; } void QEI::index(void) {