Simple shift register library

Dependents:   1620_App_Board_Shift_Register 1620_App_Board_UART_getc 1620_Project_Template 1620_Project_Template ... more

ShiftReg.cpp

Committer:
eencae
Date:
2017-02-20
Revision:
1:33b34e0ed72c
Parent:
0:4922f5f8bfa9

File content as of revision 1:33b34e0ed72c:

#include "ShiftReg.h"

ShiftReg::ShiftReg()
{
    clkout = new DigitalOut(p7);
    dataout = new DigitalOut(p5);
    latchout = new DigitalOut(p30);
}

ShiftReg::~ShiftReg()
{
    delete clkout;
    delete dataout;
    delete latchout;
}

void ShiftReg::write(int data)
{
    *latchout = 0;
    for (int i = 7; i >=  0; i--) {
        *clkout = 0;
        *dataout = (data & (1 << i)) != 0;
        *clkout = 1;
    }
    *latchout = 1;
}