e-paper whereabouts board program
Dependencies: SDFileSystem mbed
extdio.cpp
- Committer:
- kohacraft
- Date:
- 2017-05-23
- Revision:
- 2:9150515ecd68
- Parent:
- 1:cb28911c7ba5
File content as of revision 2:9150515ecd68:
/* EDP interface board control progtam */ #include "mbed.h" #include "extdio.h" DigitalOut CL(dp9); DigitalOut sdata(dp10); DigitalOut sclock(dp11); DigitalOut sdlatch(dp14); DigitalOut sclatch(dp13); char _contBusState = 0; //control bus states keep char _olddata; //data bus state keep void setCL( bool state ) { CL = state; return; } //chenge control bus void setContBus( char mask , bool state ) { sclock = 0; sclatch = 0; if( state == true) { _contBusState = _contBusState | mask; } else { _contBusState = _contBusState & (~mask); } char sendData; sendData = _contBusState; char bitMask = 0x80; //transfur from MSB sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; sdata = sendData & bitMask; sclock = 1; bitMask = bitMask >> 1; sclock = 0; //set data sclatch = 1; sclatch = 0; return; } //set data bus void setDataBus( char data ) { sclock = 0; sdlatch = 0; //skip process when data is same with old data if( _olddata == data ) { return; } _olddata = data; sdata = data&0x01; sclock = 1; sclock = 0; sdata = data&0x02; sclock = 1; sclock = 0; sdata = data&0x04; sclock = 1; sclock = 0; sdata = data&0x08; sclock = 1; sclock = 0; sdata = data&0x10; sclock = 1; sclock = 0; sdata = data&0x20; sclock = 1; sclock = 0; sdata = data&0x40; sclock = 1; sclock = 0; sdata = data&0x80; sclock = 1; sclock = 0; //set data sdlatch = 1; sdlatch = 0; return; }