serial to processing
serial.cpp
- Committer:
- sgrsn
- Date:
- 2016-11-05
- Revision:
- 0:d392bb39c8b8
File content as of revision 0:d392bb39c8b8:
#include "serial.h" serial::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 serial::getdata() { if(readable()) { count = getc(); if(count <= 3 && count >= 0) { putc(arrayDATA[count]); } else { //if(readable()) //No *( Registar + (count-4) ) = getc(); } } } int serial::getdata(int reg, int size) { int data = 0; for(int i = 0; i < size; i++) { data |= *(Registar + + reg + i) << (i*8); } return data; } void serial::putpc(const int data) { DATA = data; for(int i = 0; i < 4; i++) { arrayDATA[i] = ( DATA >> (i*8) ) & 0x0ff; } } int serial::operator[](int reg) { return getdata(reg, 4); } void serial::operator=(const int data) { putpc(data); }