mirror of
https://github.com/clockworkpi/WiringPi.git
synced 2025-12-13 08:18:48 +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) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 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 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
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user