Small library for controll the TTL74HC595, who is a SerialIn-ParallelOut
ttl_74HC595.cpp
- Committer:
- trombettamichele
- Date:
- 2011-05-06
- Revision:
- 1:db4af8094f4c
- Parent:
- 0:d78bcf13e9ed
File content as of revision 1:db4af8094f4c:
#include "mbed.h" #include "ttl_74HC595.h" // Small library for controll the TTL74HC595, who is a SerialIn-ParallelOut // Created by Michele Trombetta // Copyright 2010 5OFT. All rights reserved. ttl_74HC595::ttl_74HC595(PinName DS, PinName SH_CLK, PinName ST_CLK, PinName OE): _DS(DS), _SH_CLK(SH_CLK), _ST_CLK(ST_CLK), _OE(OE) { } void ttl_74HC595::send_data(unsigned char data) { for (char i=0; i<8; i++) { _SH_CLK = 0; _DS = data & 0x01; data >>= 1; _SH_CLK = 1; } } void ttl_74HC595::store_data() { _ST_CLK = 1; _ST_CLK = 0; } void ttl_74HC595::send(unsigned char data) { send_data(data); store_data(); } void ttl_74HC595::setOE(bool enable) { _OE = enable ? 0 : 1; }