ikarashiMDCslaveの改良(?)版 スピード制御の分解能が2byte
Dependencies: mbed SoftPWM MotorSMLAP
Diff: main.cpp
- Revision:
- 1:d802a9793080
- Parent:
- 0:4791d1cb39f8
- Child:
- 3:22c5eb74817f
--- a/main.cpp Thu Aug 10 04:53:24 2017 +0000 +++ b/main.cpp Thu Aug 10 07:16:39 2017 +0000 @@ -1,25 +1,32 @@ #include "mbed.h" #include "motorsmlap.h" motorSmLap motor[]={ - motorSmLap(PB_0,PB_1) + motorSmLap(PA_2,PB_15), +// motorSmLap(,NULL), +// motorSmLap(NULL,NULL), +// motorSmLap(NULL,NULL) }; Serial serial(PB_10,PB_11); DigitalOut serialControl(PA_8); +DigitalOut addrChecked(PB_13); +DigitalOut headerRecieved(PB_14); Timeout timeout; uint8_t pointedMotor; -bool addrChecked=false,headerRecieved=false; + BusIn addr(PB_4,PB_5,PB_6); DigitalOut beep(PB_7); int mode = CS; +DigitalOut led(PB_12); void forceStop() { - for(int i = 0;i < 4; i++) + for(int i = 0;i < 1; i++) { motor[i].setMotorSpeed(0); } } void callback(){ + led = !led; uint8_t data; data = serial.getc(); if(data == 255) //header @@ -42,15 +49,21 @@ motor[pointedMotor].setMotorSpeed(data/126.0-1.0); addrChecked = false; headerRecieved = false; - timeout.attach(&forceStop,0.1); + //timeout.attach(&forceStop,0.1); } } int main() { + addrChecked=false,headerRecieved=false; + motor[0].setMotorSpeed(0); + serial.baud(115200); + addr.mode(PullUp); serialControl = 0; serial.attach(&callback); while(1) { + //led = !led; + wait(1); } }