Просмотр исходного кода

Experimental shiftOutWithDelay

pull/1/head
Philip Howard 12 лет назад
Родитель
Сommit
d677719d0e
2 измененных файлов: 34 добавлений и 0 удалений
  1. +33
    -0
      wiringPi/wiringShift.c
  2. +1
    -0
      wiringPi/wiringShift.h

+ 33
- 0
wiringPi/wiringShift.c Просмотреть файл

@@ -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) ;
}
}

+ 1
- 0
wiringPi/wiringShift.h Просмотреть файл

@@ -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
}


Загрузка…
Отмена
Сохранить