serial to processing

serial.h

Committer:
sgrsn
Date:
2016-11-05
Revision:
0:d392bb39c8b8

File content as of revision 0:d392bb39c8b8:

#ifndef SERIAL_H
#define SERIAL_H
#include "mbed.h"

class serial : public Serial
{
    public:
    serial(PinName tx, PinName rx, char *_Registar);/* : Serial(tx, rx);
    {
        Registar = _Registar;
        DATA = 0;
        count = 0;
        for(int i = 0; i < 4; i++)arrayDATA[i] = 0;
        baud(115200);
        attach(this, &serial::getdata, Serial::RxIrq);
    }*/
    
    void getdata();
    /*{
        if(readable())
        {
            count = getc();
            if(count <= 3 && count >= 0)
            {
                putc(arrayDATA[count]);
            }
            else
            {
                //if(readable())    //No
                *( Registar + (count-4) ) = getc();
            }
        }
    }*/

    int getdata(int reg, int size);
    /*{
        int data = 0;
        for(int i = 0; i < size; i++)
        {
            data  |= *(Registar + + reg + i) << (i*8);
        }
        return data;
    }*/
    
    void putpc(const int data);
    /*{
        DATA = data;
        for(int i = 0; i < 4; i++)
        {
            arrayDATA[i] = ( DATA >> (i*8) ) & 0x0ff;
        }
    }*/
    
    int operator[](int reg);
    /*{
        return getdata(reg, 4);
    }*/
    
    void operator=(const int data);
    /*{
        putpc(data);
    }*/
    
    private:
    int DATA;
    int arrayDATA[4];
    int count;
    char *Registar;
};

#endif