Microduino的cube小车。

Dependencies:   mbed-rtos mbed

Committer:
lixianyu
Date:
Sat May 28 05:09:18 2016 +0000
Revision:
4:0670023d3f36
Parent:
3:e4ac7c1a14de
??work????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lixianyu 1:758ccab13947 1 #ifndef Motor_h
lixianyu 1:758ccab13947 2 #define Motor_h
lixianyu 1:758ccab13947 3
lixianyu 1:758ccab13947 4 //#include "Arduino.h"
lixianyu 1:758ccab13947 5 #include "mbed.h"
lixianyu 1:758ccab13947 6
lixianyu 1:758ccab13947 7 #define CHAN_LEFT 0
lixianyu 1:758ccab13947 8 #define CHAN_RIGHT 1
lixianyu 1:758ccab13947 9
lixianyu 3:e4ac7c1a14de 10 #if 0
lixianyu 1:758ccab13947 11 typedef struct {
lixianyu 1:758ccab13947 12 uint8_t nbr_A :6 ;
lixianyu 1:758ccab13947 13 uint8_t nbr_B :6 ;
lixianyu 3:e4ac7c1a14de 14 } MotorPin_t;
lixianyu 3:e4ac7c1a14de 15 #else
lixianyu 3:e4ac7c1a14de 16 typedef struct {
lixianyu 3:e4ac7c1a14de 17 PinName nbr_A;
lixianyu 3:e4ac7c1a14de 18 PinName nbr_B;
lixianyu 3:e4ac7c1a14de 19 } MotorPin_t;
lixianyu 3:e4ac7c1a14de 20
lixianyu 3:e4ac7c1a14de 21 #endif
lixianyu 1:758ccab13947 22
lixianyu 1:758ccab13947 23 typedef struct {
lixianyu 1:758ccab13947 24 MotorPin_t Pin;
lixianyu 1:758ccab13947 25 } motor_t;
lixianyu 1:758ccab13947 26
lixianyu 1:758ccab13947 27 class Motor
lixianyu 1:758ccab13947 28 {
lixianyu 1:758ccab13947 29 public:
lixianyu 2:70ca3e685cca 30 Motor(PinName _motor_pinA, PinName _motor_pinB);
lixianyu 1:758ccab13947 31 void Fix(float _fix);
lixianyu 1:758ccab13947 32 void Driver(int16_t _motor_driver);
lixianyu 1:758ccab13947 33 void Free();
lixianyu 1:758ccab13947 34 void Brake();
lixianyu 4:0670023d3f36 35 int16_t GetData(int16_t _throttle, int16_t _steering, uint8_t _dir);
lixianyu 1:758ccab13947 36 private:
lixianyu 1:758ccab13947 37 uint8_t motorIndex; // index into the channel data for this key
lixianyu 1:758ccab13947 38 float fix;
lixianyu 1:758ccab13947 39 int16_t _motor_vol;
lixianyu 2:70ca3e685cca 40 protected:
lixianyu 3:e4ac7c1a14de 41 pwmout_t _pwmA;
lixianyu 3:e4ac7c1a14de 42 pwmout_t _pwmB;
lixianyu 4:0670023d3f36 43 int _period_us;
lixianyu 1:758ccab13947 44 };
lixianyu 1:758ccab13947 45
lixianyu 1:758ccab13947 46 #endif