catchrobo2022 mbed LPC1768 メインプログラム

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MbedHardware.h Source File

MbedHardware.h

00001 /*
00002  * MbedHardware
00003  *
00004  *  Created on: Aug 17, 2011
00005  *      Author: nucho
00006  */
00007 
00008 #ifndef ROS_MBED_HARDWARE_H_
00009 #define ROS_MBED_HARDWARE_H_
00010 
00011 #include "mbed.h"
00012 
00013 #include "BufferedSerial.h"
00014 
00015 class MbedHardware {
00016   public:
00017     MbedHardware(PinName tx, PinName rx, long baud = 57600)
00018       :iostream(tx, rx){
00019       baud_ = baud;
00020       t.start();
00021     }
00022 
00023     MbedHardware()
00024     #ifdef USE_XBEE
00025     :iostream(p13, p14)      //Xbee
00026     #else
00027     :iostream(USBTX, USBRX) //有線
00028     #endif
00029       {
00030         baud_ = 57600;
00031         t.start();
00032     }
00033 
00034     void setBaud(long baud){
00035       this->baud_= baud;
00036     }
00037 
00038     int getBaud(){return baud_;}
00039 
00040     void init(){
00041         iostream.baud(baud_);
00042     }
00043 
00044     int read(){
00045         if (iostream.readable()) {
00046             return iostream.getc();
00047         } else {
00048             return -1;
00049         }
00050     };
00051     void write(uint8_t* data, int length) {
00052         for (int i=0; i<length; i++)
00053              iostream.putc(data[i]);
00054     }
00055 
00056     unsigned long time(){return t.read_ms();}
00057 
00058 protected:
00059     BufferedSerial iostream;
00060     long baud_;
00061     Timer t;
00062 };
00063 
00064 
00065 #endif /* ROS_MBED_HARDWARE_H_ */