swspi.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 == 299)
  19. /*#if MOTHERBOARD == BOARD_EINY_0_4a
  20. #define SWSPI_MISO 62 //PK0
  21. #define SWSPI_MOSI 62 //PK0
  22. #define SWSPI_SCK 21 //SCL
  23. #endif //(MOTHERBOARD == BOARD_EINY_0_3a)
  24. #if (MOTHERBOARD == BOARD_EINY_0_4a)
  25. #define SWSPI_MISO 21 //PK0
  26. #define SWSPI_MOSI 21 //PK0
  27. #define SWSPI_SCK 62 //SCL
  28. #define SWSPI_CS 20 //SDA
  29. #endif //(MOTHERBOARD == BOARD_EINY_0_4a)*/
  30. #endif //SWSPI_AVR
  31. #define SWSPI_POL 1 //polarity
  32. #define SWSPI_PHA 0 //phase
  33. #define SWSPI_DOR 0 //data order
  34. #define SWSPI_DEL 2 //delay
  35. void swspi_init();
  36. #if (SWSPI_MOSI == SWSPI_MISO)
  37. void swspi_tx(unsigned char tx);
  38. unsigned char swspi_rx();
  39. #else //(SWSPI_MOSI == SWSPI_MISO)
  40. #define swspi_tx swspi_txrx
  41. #define swspi_rx swspi_txrx
  42. unsigned char swspi_txrx(unsigned char tx);
  43. #endif //(SWSPI_MOSI == SWSPI_MISO)
  44. void swspi_start();
  45. void swspi_stop();
  46. #endif //SWSPI_H