teensy-3-6-digital-io.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #pragma once
  2. //——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
  3. #include <stdint.h>
  4. //——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
  5. enum class DigitalPort {
  6. //--- Common with Teensy 3.1 / 3.2
  7. D0, // PTB16
  8. D1, // PTB17
  9. D2, // PTD0
  10. D3, // PTA12
  11. D4, // PTA13
  12. D5, // PTD7
  13. D6, // PTD4
  14. D7, // PTD2
  15. D8, // PTD3
  16. D9, // PTC3
  17. D10, // PTC4
  18. D11, // PTC6
  19. D12, // PTC7
  20. D13, // PTC5
  21. D14, // PTD1
  22. D15, // PTC0
  23. D16, // PTB0
  24. D17, // PTB1
  25. D18, // PTB3
  26. D19, // PTB2
  27. D20, // PTD5
  28. D21, // PTD6
  29. D22, // PTC1
  30. D23, // PTC2
  31. //--- Only on Teensy 3.6
  32. D24, // PTE26
  33. D25, // PTA5
  34. D26, // PTA14
  35. D27, // PTA15
  36. D28, // PTA16
  37. D29, // PTB18
  38. D30, // PTB19
  39. D31, // PTB10
  40. D32, // PTB11
  41. D33, // PTE24
  42. D34, // PTE25
  43. D35, // PTC8
  44. D36, // PTC9
  45. D37, // PTC10
  46. D38, // PTC11
  47. D39, // PTA17
  48. D40, // PTA28
  49. D41, // PTA29
  50. D42, // PTA26
  51. D43, // PTB20
  52. D44, // PTB22
  53. D45, // PTB23
  54. D46, // PTB21
  55. D47, // PTD8
  56. D48, // PTD9
  57. D49, // PTB4
  58. D50, // PTB5
  59. D51, // PTD14
  60. D52, // PTD13
  61. D53, // PTD12
  62. D54, // PTD15
  63. D55, // PTD11
  64. D56, // PTE10
  65. D57, // PTE11
  66. //--- No port
  67. True, // Fictive port: no effect on write, always read true
  68. False // Fictive port: no effect on write, always read false
  69. } ;
  70. //——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
  71. enum class DigitalMode {
  72. OUTPUT,
  73. OUTPUT_OPEN_COLLECTOR,
  74. INPUT,
  75. INPUT_PULLDOWN,
  76. INPUT_PULLUP
  77. } ;
  78. //——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
  79. void pinMode (const DigitalPort inPort, const DigitalMode inMode) ;
  80. bool digitalRead (const DigitalPort inPort) ;
  81. void digitalWrite (const DigitalPort inPort, const bool inValue) ;
  82. void digitalToggle (const DigitalPort inPort) ;
  83. //——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————