Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

105 linhas
3.0 KiB

  1. /*
  2. * File: DigitalIO_Pinguino.h
  3. * Author: JF
  4. *
  5. * Created on November 24, 2018, 3:20 PM
  6. */
  7. #ifndef DIGITALIO_PINGUINO_H
  8. #define DIGITALIO_PINGUINO_H
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* ************************************************************************** */
  13. /* Includes */
  14. #include "define.h"
  15. /* ************************************************************************** */
  16. /* Defines */
  17. #define SYS_FREQ (80000000L) //Clock period = 12.5 ns
  18. #define PERIPHERAL_FREQ (80000000L)
  19. //Output pins hardware definitions
  20. //
  21. // #define HEARTBEAT_LED_2_PIN_DIR TRISGbits.TRISG6
  22. // #define HEARTBEAT_LED_2_PIN LATGbits.LATG6
  23. // #define HEARTBEAT_LED_2_TOGGLE_REG LATGINV
  24. // #define HEARTBEAT_LED_2_SET_REG LATGSET
  25. // #define HEARTBEAT_LED_2_CLEAR_REG LATGCLR
  26. // #define HEARTBEAT_LED_2_TOGGLE_MASK _LATG_LATG6_MASK
  27. #define HEARTBEAT_LED_1_PIN_DIR TRISDbits.TRISD1
  28. #define HEARTBEAT_LED_1_PIN LATDbits.LATD1
  29. #define HEARTBEAT_LED_1_TOGGLE_REG LATDINV
  30. #define HEARTBEAT_LED_1_SET_REG LATDSET
  31. #define HEARTBEAT_LED_1_CLEAR_REG LATDCLR
  32. #define HEARTBEAT_LED_1_TOGGLE_MASK _LATD_LATD1_MASK
  33. // #define SD_CARD_DETECT_PIN_DIR TRISDbits.TRISD8
  34. // #define SD_CARD_DETECT_PIN LATDbits.LATD8
  35. //SPI port defs
  36. #define SPI_SDO_PIN_DIR TRISGbits.TRISG8
  37. #define SPI_SDI_PIN_DIR TRISGbits.TRISG7
  38. #define SPI_SCK_PIN_DIR TRISGbits.TRISG6
  39. //SD Card
  40. #define SD_SPI_SS_PIN_DIR TRISBbits.TRISB13
  41. #define SD_SPI_SS_PIN LATBbits.LATB13
  42. //Wifi (WINC3400 module)
  43. #define WIFI_SPI_SS_PIN_DIR TRISFbits.TRISF1
  44. #define WIFI_SPI_SS_PIN LATFbits.LATF1
  45. #define WIFI_IRQ_PIN_DIR TRISDbits.TRISD0
  46. #define WIFI_IRQ_PIN PORTDbits.RD0
  47. #define WIFI_WAKE_PIN_DIR TRISEbits.TRISE0
  48. #define WIFI_WAKE_PIN LATEbits.LATE0
  49. #define WIFI_SPI_CFG_PIN_DIR TRISEbits.TRISE1
  50. #define WIFI_SPI_CFG_PIN LATEbits.LATE1
  51. #define WIFI_CHP_EN_PIN_DIR TRISEbits.TRISE2
  52. #define WIFI_CHP_EN_PIN LATEbits.LATE2
  53. #define WIFI_CHP_RST_PIN_DIR TRISEbits.TRISE3
  54. #define WIFI_CHP_RST_PIN LATEbits.LATE3
  55. //Control knob encoder
  56. #define KNOB_PH_A_PIN_DIR TRISDbits.TRISD8
  57. #define KNOB_PH_A_PIN PORTDbits.RD8
  58. #define KNOB_PH_B_PIN_DIR TRISDbits.TRISD7
  59. #define KNOB_PH_B_PIN PORTDbits.RD7
  60. #define KNOB_TGLE_BTN_PIN_DIR TRISDbits.TRISD11
  61. #define KNOB_TGLE_BTN_PIN PORTDbits.RD11
  62. //Led controller PWM
  63. #define LED_PWM_PIN_DIR TRISDbits.TRISD2
  64. #define LED_PWM_PIN LATDbits.LATD2
  65. #define LED_PWM_VAL_REG OC3RS
  66. //Misc CPU or board related defines
  67. #define PWM_RANGE_MAX 16000
  68. #define GP_DEBUG_1_PIN_DIR TRISEbits.TRISE5
  69. #define GP_DEBUG_1_PIN LATEbits.LATE5
  70. #define GP_DEBUG_2_PIN_DIR TRISEbits.TRISE6
  71. #define GP_DEBUG_2_PIN LATEbits.LATE6
  72. /* ************************************************************************** */
  73. /* Prototypes */
  74. void InitDigitalIO(void);
  75. #ifdef __cplusplus
  76. }
  77. #endif
  78. #endif /* DIGITALIO_PINGUINO_H */