Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

92 lignes
1.4 KiB

  1. /*
  2. * test1.c:
  3. * Simple test program to test the wiringPi functions
  4. */
  5. #include <wiringPi.h>
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <stdint.h>
  9. // Simple sequencer data
  10. // Triplets of LED, On/Off and delay
  11. uint8_t data [] =
  12. {
  13. 0, 1, 1,
  14. 1, 1, 1,
  15. 0, 0, 0, 2, 1, 1,
  16. 1, 0, 0, 3, 1, 1,
  17. 2, 0, 0, 4, 1, 1,
  18. 3, 0, 0, 5, 1, 1,
  19. 4, 0, 0, 6, 1, 1,
  20. 5, 0, 0, 7, 1, 1,
  21. 6, 0, 1,
  22. 7, 0, 1,
  23. 0, 0, 1, // Extra delay
  24. // Back again
  25. 7, 1, 1,
  26. 6, 1, 1,
  27. 7, 0, 0, 5, 1, 1,
  28. 6, 0, 0, 4, 1, 1,
  29. 5, 0, 0, 3, 1, 1,
  30. 4, 0, 0, 2, 1, 1,
  31. 3, 0, 0, 1, 1, 1,
  32. 2, 0, 0, 0, 1, 1,
  33. 1, 0, 1,
  34. 0, 0, 1,
  35. 0, 0, 1, // Extra delay
  36. 9, 9, 9, // End marker
  37. } ;
  38. int main (void)
  39. {
  40. int pin ;
  41. int dataPtr ;
  42. int l, s, d ;
  43. printf ("Raspberry Pi wiringPi test program\n") ;
  44. if (wiringPiSetup () == -1)
  45. exit (1) ;
  46. for (pin = 0 ; pin < 8 ; ++pin)
  47. pinMode (pin, OUTPUT) ;
  48. pinMode (8, INPUT) ; // Pin 8 SDA0 - Has on-board 2k2 pull-up resistor
  49. dataPtr = 0 ;
  50. for (;;)
  51. {
  52. l = data [dataPtr++] ; // LED
  53. s = data [dataPtr++] ; // State
  54. d = data [dataPtr++] ; // Duration (10ths)
  55. if ((l + s + d) == 27)
  56. {
  57. dataPtr = 0 ;
  58. continue ;
  59. }
  60. digitalWrite (l, s) ;
  61. if (digitalRead (8) == 0) // Pressed as our switch shorts to ground
  62. delay (d * 10) ; // Faster!
  63. else
  64. delay (d * 100) ;
  65. }
  66. return 0 ;
  67. }