-
Notifications
You must be signed in to change notification settings - Fork 0
/
shiftRegister.c
43 lines (36 loc) · 1.04 KB
/
shiftRegister.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "shiftRegister.h"
#include <Arduino.h>
ShiftRegister::ShiftRegister(const int latchPin, const int clockPin, const int dataPin) :
latchPin(latchPin), clockPin(clockPin), dataPin(dataPin) {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void ShiftRegister::SetClearPin(int clearPin) {
this->clearPin = clearPin;
pinMode(clearPin, OUTPUT);
}
void ShiftRegister::SetOutputEnablePin(int outputEnablePin) {
this->outputEnablePin = outputEnablePin;
pinMode(outputEnablePin, OUTPUT);
}
void ShiftRegister::ClearAll() {
if (clearPin != undefined) {
digitalWrite(clearPin, LOW);
digitalWrite(clearPin, HIGH);
}
}
void ShiftRegister::Print(const int num) {
WriteToBuffer(num);
SaveBufferToLatch();
}
void ShiftRegister::EnableOutput() {
if (outputEnablePin != undefined) {
digitalWrite(outputEnablePin, LOW);
}
}
void ShiftRegister::DisableOutput() {
if (outputEnablePin != undefined) {
digitalWrite(outputEnablePin, HIGH);
}
}