GY-63_MS5611/libraries/FastShiftOut/FastShiftOut.h
RobTillaart 2f5952ec05 + FastShiftOut version 0.1.5
+ optimized masking in inner loop
2017-04-27 00:10:51 +02:00

44 lines
767 B
C++

//
// FILE: FastShiftOut.h
// AUTHOR: Rob Tillaart
// VERSION: 0.1.5
// PURPOSE: shiftout that implements the Print interface
// DATE: 2013-08-22
// URL:
//
// Released to the public domain
//
#ifndef FastShiftOut_h
#define FastShiftOut_h
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#define FASTSHIFTOUT_LIB_VERSION (F("0.1.5"))
#include "Print.h"
class FastShiftOut : public Print
{
public:
FastShiftOut(const uint8_t, const uint8_t, const uint8_t);
size_t write(const uint8_t);
int read(void);
private:
uint8_t _bitorder;
int _value;
uint8_t _databit;
volatile uint8_t *_dataout;
uint8_t _clockbit;
volatile uint8_t *_clockout;
};
#endif
// -- END OF FILE --