ミニサーボ
ASV15MG.cpp
- Committer:
- firlight1034
- Date:
- 2017-10-14
- Revision:
- 1:af7a454d5b86
- Parent:
- 0:abe3b5f466a2
File content as of revision 1:af7a454d5b86:
#include "mbed.h" #include "ASV15MG.h" // ASV15MG ASV15MG::ASV15MG(PinName pin) :_servo(pin) { // 周期割り込みによるPWMの作成 tm.attach(this,&ASV15MG::PeriodicProcess,SERVO_PWM_MSEC); // tm.attach(this,&PeriodicProcess,SERVO_PWM_MSEC); // 初期設定(中心値に設定) SetPWM(ARM_MOUTH_PWM_WIDTH_CENTER); } // End of ASV15MG //================================== // PWM値の設定(Min:750,Max:1850) // 許容値外の場合は前回値保持 //================================== void ASV15MG::SetPWM(int pwm_us) { // 範囲外の場合、前回値とする if(pwm_us < SERVO_PWM_MIN_VALUE){return;} if(pwm_us > SERVO_PWM_MAX_VALUE){return;} servoPwmWidth = PWM_SIG_LO; } // End of SwtPWM //================================== // 周期割り込み処理 //================================== void ASV15MG::PeriodicProcess() { _servo = PWM_SIG_HI; wait_us(servoPwmWidth); _servo = PWM_SIG_LO; } // End of PeriodicProcess