yuki kusakabe
/
R1350N_test
mmbed cli test
main.cpp
- Committer:
- yuqlid
- Date:
- 2017-11-15
- Revision:
- 0:daa2647a8c40
File content as of revision 0:daa2647a8c40:
#include "mbed.h" DigitalOut myled(LED1); DigitalOut resetimu(p11); Serial pc(USBTX, USBRX); // tx, rx Serial r1350n(p9, p10); // tx, rx char buf[] = "Hello World!"; int state = 0 , counter = 0; unsigned char buffer[15]; void dev_rx () { unsigned char data; data = r1350n.getc(); switch (state) { case 0: if (data == 0xaa) { state++; } break; case 1: if (data == 0x00) { state++; } else { counter = 0; state = 0; } break; case 2: buffer[counter++] = data; if (counter >= 13) { int sum = 0; for (int i = 0; i < 11; i++) sum += buffer[i]; if ((sum & 0xff) == buffer[12]) { pc.printf("Angle = %4d,AccX = %4d,AccY = %4d,AccZ = %4d\r\n", (buffer[2] << 8) | buffer[1], (buffer[6] << 8) | buffer[5], (buffer[8] << 8) | buffer[7], (buffer[10] << 8) | buffer[9] ); wait(0.01); //Serial.flush(); } state = 0; counter = 0; } break; } } int main() { r1350n.baud(115200); resetimu = 0; wait(0.1); resetimu = 1; wait(2); //pc.attach(pc_rx, Serial::RxIrq); pc.printf("Hello World!\n"); r1350n.attach(dev_rx, Serial::RxIrq); //pc.attach(pc_tx, Serial::TxIrq); while(1){ myled = 1; wait(0.2); myled = 0; wait(0.2); } }