mirror of
https://github.com/clockworkpi/WiringPi.git
synced 2025-12-13 16:18:52 +01:00
Experimental shiftOutWithDelay
This commit is contained in:
parent
096ca1f1d4
commit
d677719d0e
@ -82,3 +82,36 @@ void shiftOut (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val)
|
|||||||
digitalWrite (cPin, LOW) ;
|
digitalWrite (cPin, LOW) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* shiftOut:
|
||||||
|
* Shift data out to a clocked source
|
||||||
|
*********************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
void shiftOutWithDelay (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val, uint8_t delay)
|
||||||
|
{
|
||||||
|
int8_t i;
|
||||||
|
|
||||||
|
if (order == MSBFIRST)
|
||||||
|
for (i = 7 ; i >= 0 ; --i)
|
||||||
|
{
|
||||||
|
digitalWrite (dPin, val & (1 << i)) ;
|
||||||
|
delayMicroseconds (delay) ;
|
||||||
|
digitalWrite (cPin, HIGH) ;
|
||||||
|
delayMicroseconds (delay) ;
|
||||||
|
digitalWrite (cPin, LOW) ;
|
||||||
|
delayMicroseconds (delay) ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
for (i = 0 ; i < 8 ; ++i)
|
||||||
|
{
|
||||||
|
digitalWrite (dPin, val & (1 << i)) ;
|
||||||
|
delayMicroseconds (delay) ;
|
||||||
|
digitalWrite (cPin, HIGH) ;
|
||||||
|
delayMicroseconds (delay) ;
|
||||||
|
digitalWrite (cPin, LOW) ;
|
||||||
|
delayMicroseconds (delay) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -35,6 +35,7 @@ extern "C" {
|
|||||||
|
|
||||||
extern uint8_t shiftIn (uint8_t dPin, uint8_t cPin, uint8_t order) ;
|
extern uint8_t shiftIn (uint8_t dPin, uint8_t cPin, uint8_t order) ;
|
||||||
extern void shiftOut (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val) ;
|
extern void shiftOut (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val) ;
|
||||||
|
extern void shiftOutWithDelay (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val, uint8_t delay) ;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user