Chi Chung Chan / Mbed 2 deprecated LCD_test

Dependencies:   TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "TextLCD.h"
00003 
00004 TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // RS, E, D4-D7
00005 Serial pc(PA_9,PA_10);
00006 
00007 char data[2];
00008 char data1[2];
00009 char data2[2];
00010 char data3[2];
00011 char data4[2];
00012 char data5[2];
00013 char data6[2];
00014 char data7[2];
00015 char data8[2];
00016 
00017 int angleCal(char highc, char lowc);
00018  
00019 int main() {
00020     pc.baud(115200);
00021     pc.format(8,SerialBase::None,1);
00022     //pc.attach(&interrupt,Serial::RxIrq);
00023     
00024     
00025     while(1) {
00026         if (pc.readable()) {
00027             pc.gets(data,2);
00028             
00029             if(data[0] == 170){
00030                 pc.gets(data1,2); //0xAA
00031                 pc.gets(data2,2);
00032                 pc.gets(data3,2);
00033                 pc.gets(data4,2);
00034                 pc.gets(data5,2);
00035                 pc.gets(data6,2);
00036                 pc.gets(data7,2);
00037                 pc.gets(data8,2); //0x55
00038                 lcd.printf("%d,%d,%d",angleCal(data2[0],data3[0]), angleCal(data4[0],data5[0]), angleCal(data6[0],data7[0]));
00039             }
00040         }
00041         wait(0.5);
00042         lcd.cls();
00043     }
00044 }
00045 
00046 int angleCal(char highc, char lowc)
00047 {
00048     int high = highc << 8;
00049     int low = lowc; 
00050     int angle = (high + low)/100;
00051     if(angle > 475)
00052         angle = 180 + (angle - 476);
00053     return angle;
00054 }