Gordons Projects

--> Projects Top-Level GIT

update for the v3+
[wiringPi] / examples / blink-thread.c
1 /*
2  * blink-thread.c:
3  *      Standard "blink" program in wiringPi. Blinks an LED connected
4  *      to the first GPIO pin.
5  *
6  * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
7  ***********************************************************************
8  * This file is part of wiringPi:
9  *      https://projects.drogon.net/raspberry-pi/wiringpi/
10  *
11  *    wiringPi is free software: you can redistribute it and/or modify
12  *    it under the terms of the GNU Lesser General Public License as published by
13  *    the Free Software Foundation, either version 3 of the License, or
14  *    (at your option) any later version.
15  *
16  *    wiringPi is distributed in the hope that it will be useful,
17  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
18  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  *    GNU Lesser General Public License for more details.
20  *
21  *    You should have received a copy of the GNU Lesser General Public License
22  *    along with wiringPi.  If not, see <http://www.gnu.org/licenses/>.
23  ***********************************************************************
24  */
25
26 #include <stdio.h>
27 #include <wiringPi.h>
28
29 // LED Pin - wiringPi pin 0 is BCM_GPIO 17.
30
31 #define LED     0
32
33 PI_THREAD (blinky)
34 {
35   for (;;)
36   {
37     digitalWrite (LED, HIGH) ;  // On
38     delay (500) ;               // mS
39     digitalWrite (LED, LOW) ;   // Off
40     delay (500) ;
41   }
42 }
43
44
45 int main (void)
46 {
47   printf ("Raspberry Pi blink\n") ;
48
49   wiringPiSetup () ;
50   pinMode (LED, OUTPUT) ;
51
52   piThreadCreate (blinky) ;
53
54   for (;;)
55   {
56     printf ("Hello, world\n") ;
57     delay (600) ;
58   }
59
60   return 0 ;
61 }