swspi.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef SWSPI_H
  2. #define SWSPI_H
  3. //#define SWSPI_RPI
  4. #define SWSPI_AVR
  5. #ifdef SWSPI_RPI
  6. //#define SWSPI_MISO 9
  7. #define SWSPI_MISO 10
  8. #define SWSPI_MOSI 10
  9. #define SWSPI_SCK 11
  10. #define SWSPI_CS 7
  11. #endif //SWSPI_RPI
  12. #ifdef SWSPI_AVR
  13. #if (MOTHERBOARD == BOARD_EINY_0_3a)
  14. #define SWSPI_MISO 16 //RX2
  15. #define SWSPI_MOSI 16 //RX2
  16. #define SWSPI_SCK 17 //TX2
  17. #define SWSPI_CS 20 //SDA
  18. #endif //(MOTHERBOARD == BOARD_EINY_0_3a)
  19. #if (MOTHERBOARD == BOARD_EINY_0_4a)
  20. #define SWSPI_MISO 21 //PK0
  21. #define SWSPI_MOSI 21 //PK0
  22. #define SWSPI_SCK 62 //SCL
  23. #define SWSPI_CS 20 //SDA
  24. #endif //(MOTHERBOARD == BOARD_EINY_0_4a)
  25. #endif //SWSPI_AVR
  26. #define SWSPI_POL 1 //polarity
  27. #define SWSPI_PHA 0 //phase
  28. #define SWSPI_DOR 0 //data order
  29. #define SWSPI_DEL 2 //delay
  30. void swspi_init();
  31. #if (SWSPI_MOSI == SWSPI_MISO)
  32. void swspi_tx(unsigned char tx);
  33. unsigned char swspi_rx();
  34. #else //(SWSPI_MOSI == SWSPI_MISO)
  35. #define swspi_tx swspi_txrx
  36. #define swspi_rx swspi_txrx
  37. unsigned char swspi_txrx(unsigned char tx);
  38. #endif //(SWSPI_MOSI == SWSPI_MISO)
  39. void swspi_start();
  40. void swspi_stop();
  41. #endif //SWSPI_H