74595 Library

Files at this revision

API Documentation at this revision

Comitter:
zoop57
Date:
Sat Aug 23 21:15:47 2014 +0000
Commit message:
Initial commit;

Changed in this revision

ShiftRegister.cpp Show annotated file Show diff for this revision Revisions of this file
ShiftRegister.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r bca974772920 ShiftRegister.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ShiftRegister.cpp	Sat Aug 23 21:15:47 2014 +0000
@@ -0,0 +1,39 @@
+#include "ShiftRegister.h"
+#include "mbed.h"
+ 
+ShiftRegister::ShiftRegister():_clockPin(NC), _latchPin(NC), _dataPin(NC) {};
+ShiftRegister::ShiftRegister(PinName clockPin, PinName latchPin, PinName dataPin)
+  :_clockPin(clockPin), _latchPin(latchPin), _dataPin(dataPin)
+{
+    _clockPin = 0;
+    _latchPin = 0;
+    _dataPin = 0;
+}
+ 
+void ShiftRegister::shiftByte(unsigned char data)
+{
+    //Make sure all pins are initialised
+    _clockPin = 0;
+    _dataPin = 0;
+    _latchPin = 0;
+    
+    //Shift out data
+    for (int i=7; i>=0; i--)  
+    {
+        shiftBit( (data & (1<<i)) ? 1:0);
+    }
+    
+    //Shift data to output
+    _latchPin = 1;
+    _latchPin = 0;
+} 
+ 
+void ShiftRegister::shiftBit(unsigned char bit)
+{
+    _clockPin = 0;
+    _dataPin = bit;
+    _clockPin = 1;
+    _clockPin = 0;
+    _dataPin = 0;
+
+}
\ No newline at end of file
diff -r 000000000000 -r bca974772920 ShiftRegister.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ShiftRegister.h	Sat Aug 23 21:15:47 2014 +0000
@@ -0,0 +1,20 @@
+#ifndef MBED_ShiftRegister_H
+#define MBED_ShiftRegister_H
+ 
+#include "mbed.h"
+ 
+class ShiftRegister 
+{
+    public:
+        ShiftRegister();
+        ShiftRegister(PinName clockPin, PinName latchPin, PinName dataPin);
+        void shiftByte(unsigned char data);
+        void shiftBit(unsigned char bit);
+      
+    private:  
+        DigitalOut _clockPin;
+        DigitalOut _latchPin;
+        DigitalOut _dataPin;
+};
+ 
+#endif
\ No newline at end of file