PropWare
C++ objects and CMake build system for Parallax Propeller
Home
Download
Getting Started
Documentation
Reference
About
Related Links
Namespace List
Class List
File List
Examples
Build System
File List
File Members
propsideworkspace
Learn
Simple Libraries
Utility
libsimpletools
source
shiftOut.c
1
/*
2
* @file shiftOut.c
3
*
4
* @author Andy Lindsay
5
*
6
* @version 0.85
7
*
8
* @copyright Copyright (C) Parallax, Inc. 2012. See end of file for
9
* terms of use (MIT License).
10
*
11
* @brief shiftOut function source, see simpletools.h for documentation.
12
*
13
* @detail Please submit bug reports, suggestions, and improvements to
14
* this code to editor@parallax.com.
15
*/
16
17
#include "simpletools.h"
// simpletools function prototypes
18
19
void
shift_out(
int
pinDat,
int
pinClk,
int
mode,
int
bits,
int
value)
20
{
21
int
vi, vf, inc;
22
set_direction(pinDat, 1);
23
if
(mode == LSBFIRST)
24
{
25
vi = 0;
26
vf = bits;
27
inc = 1;
28
}
29
else
30
{
31
vi = bits - 1;
32
vf = -1;
33
inc = -1;
34
}
35
low(pinClk);
36
int
i;
37
for
(i = vi; i != vf; i += inc)
38
{
39
set_output(pinDat, (value >> i) & 1);
40
toggle(pinClk);
41
toggle(pinClk);
42
}
43
}
44
Generated on Sat Aug 27 2016 00:58:09 for PropWare by
1.8.12