Dependencies: mbed nucleo_rotary_encoder
main.cpp
- Committer:
- inst
- Date:
- 2016-08-21
- Revision:
- 0:f246cceb43f6
File content as of revision 0:f246cceb43f6:
#include "mbed.h" #include "rotary_encoder_a_phase.hpp" #include "rotary_encoder_ab_phase.hpp" int main() { const size_t encoder_num = 3; rotary_encoder* e[] = { new rotary_encoder_a_phase( /* timer_type = */TIM1, /* pulse_per_revol = */100), new rotary_encoder_ab_phase(/* timer_type = */TIM2, /* pulse_per_revol = */100), new rotary_encoder_ab_phase(/* timer_type = */TIM3, /* pulse_per_revol = */100) }; for (size_t i = 0; i < encoder_num; ++i) { e[i]->start(); } const float t = 2.0f; while (true) { wait(t); for (size_t i = 0; i < encoder_num; ++i) { // 回転数/秒 に60を掛けて 回転数/分 にする printf("%f, ", (e[i]->get_revol_num() / t) * 60.0f); e[i]->stop(); } printf("\n"); wait(t); for (size_t i = 0; i < encoder_num; ++i) { e[i]->start(); } wait(t); for (size_t i = 0; i < encoder_num; ++i) { // 回転数/秒 に60を掛けて 回転数/分 にする printf("%f, ", (e[i]->get_revol_num() / t) * 60.0f); e[i]->stop(); } printf("\n"); } return 0; }