LCD16x2,gy25,using Serial.getc()
Dependencies: MPU6050 TextLCD mbed
main.cpp
- Committer:
- iskenny4
- Date:
- 2017-05-25
- Revision:
- 0:88e974ab5621
File content as of revision 0:88e974ab5621:
#include "mbed.h" #include "TextLCD.h" TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // RS, E, D4-D7 Serial gy25(PA_9, PA_10, 115200); DigitalOut rw(PA_8); // RW int g[3]; char rxC[8]; void rxIRQ(){ rxC[0] = gy25.getc(); if (rxC[0] == 170) { for (int i = 1; i < 8; i++) { rxC[i] = gy25.getc(); } if (rxC[7] == 85) { for (int i = 0, j =1; i < 3; i++, j+=2) { g[i] = (rxC[j]<<8 | rxC[j+1])/100; if (g[i] > 475) g[i] = g[i] - 476 + 180; } } } } int main() { gy25.format(8,SerialBase::None,1); lcd.cls(); lcd.printf("LCD work"); wait(1); gy25.attach(rxIRQ, RawSerial::RxIrq); while(1) { lcd.locate(0,1); lcd.printf("%d,%d,%d",g[0],g[1],g[2]); wait(0.4); lcd.cls(); } }