12345678910111213141516171819202122232425262728293031 |
- #include "Port_ShiftRegs.h"
-
- Port_ShiftRegs::Port_ShiftRegs(const uint8_t slaveSelect) : slaveSelect(slaveSelect)
- {
- pinMode(slaveSelect, OUTPUT);
- }
-
- /* begin() should be called once from sketch setup().
- Initializes shift register's shift/load pin.
- */
- void Port_ShiftRegs::begin()
- {
- digitalWrite(slaveSelect, HIGH);
- SPI.begin();
- }
-
- void Port_ShiftRegs::write(const uint8_t pin, const bool logicLevel)
- {
- if (logicLevel == LOW)
- {
- outputVal &= ~pin; //set pin output to low
- }
- else
- {
- outputVal |= pin; //set pin output to high
- }
-
- digitalWrite(slaveSelect, LOW);
- SPI.transfer(outputVal);
- digitalWrite (slaveSelect, HIGH);
- }
|