Как заставить Quadrature Decoder Arduino Due считать импульсы только по PhaseA?
Когда выставлен бит 12 в 1 работает с двумя фазами PHA и PHB и все хорошо,
Счет при вращении энкодера происходит с учетом направления.
TC_BMR_EDGPHA // Detect quadrature on both PHA and PHB (4X decoding) (0x1u << 12)
Теперь я хочу подключить однофазный сигнал от генератора (TTL), только PHA, в этом случае счет должен происходить без учета направления.
По идее бит 12 выставляется в 0 и все должно работать.
Но почему-то не работает. Оно должно работать или надо что-то еще?
PIO_Configure(PIOB, PIO_PERIPH_B, PIO_PB25B_TIOA0 | PIO_PB27B_TIOB0, PIO_DEFAULT);
PIO_Configure(PIOC, PIO_PERIPH_B, PIO_PC25B_TIOA6 | PIO_PC26B_TIOB6, PIO_DEFAULT);
// ENC1!--------
pmc_enable_periph_clk(ID_TC0);
//#define TC_BMR_EDGPHA (0x1u << 12) /**< \brief (TC_BMR) EDGe on PHA count mode */
TC0->TC_BMR = TC_BMR_QDEN // QDEC mode enabled (0x1u << 8)
| TC_BMR_POSEN // Position measure is enabled #define TC_BMR_POSEN (0x1u << 9)
//| TC_BMR_QDTRANS
;
TC0->TC_BMR &=~ TC_BMR_EDGPHA; // пишем 0 в 12 бит!