mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-26 20:54:22 +01:00
Adding shiftIn() from Wiring (no count or delaytime though).
This commit is contained in:
parent
cbc52cbe3c
commit
57e2c152f1
@ -157,6 +157,7 @@ noInterrupts KEYWORD2 NoInterrupts
|
|||||||
noTone KEYWORD2 NoTone
|
noTone KEYWORD2 NoTone
|
||||||
pinMode KEYWORD2 PinMode
|
pinMode KEYWORD2 PinMode
|
||||||
pulseIn KEYWORD2 PulseIn
|
pulseIn KEYWORD2 PulseIn
|
||||||
|
shiftIn KEYWORD2 ShiftIn
|
||||||
shiftOut KEYWORD2 ShiftOut
|
shiftOut KEYWORD2 ShiftOut
|
||||||
tone KEYWORD2 Tone
|
tone KEYWORD2 Tone
|
||||||
|
|
||||||
|
@ -117,7 +117,8 @@ void delay(unsigned long);
|
|||||||
void delayMicroseconds(unsigned int us);
|
void delayMicroseconds(unsigned int us);
|
||||||
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
|
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
|
||||||
|
|
||||||
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, byte val);
|
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
|
||||||
|
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
|
||||||
|
|
||||||
void attachInterrupt(uint8_t, void (*)(void), int mode);
|
void attachInterrupt(uint8_t, void (*)(void), int mode);
|
||||||
void detachInterrupt(uint8_t);
|
void detachInterrupt(uint8_t);
|
||||||
|
@ -24,9 +24,24 @@
|
|||||||
|
|
||||||
#include "wiring_private.h"
|
#include "wiring_private.h"
|
||||||
|
|
||||||
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, byte val)
|
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) {
|
||||||
|
uint8_t value = 0;
|
||||||
|
uint8_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < 8; ++i) {
|
||||||
|
digitalWrite(clockPin, HIGH);
|
||||||
|
if (bitOrder == LSBFIRST)
|
||||||
|
value |= digitalRead(dataPin) << i;
|
||||||
|
else
|
||||||
|
value |= digitalRead(dataPin) << (7 - i);
|
||||||
|
digitalWrite(clockPin, LOW);
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
|
||||||
{
|
{
|
||||||
int i;
|
uint8_t i;
|
||||||
|
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
if (bitOrder == LSBFIRST)
|
if (bitOrder == LSBFIRST)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user