swspi.h 807 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #define SWSPI_MISO 16
  14. #define SWSPI_MOSI 16
  15. #define SWSPI_SCK 17
  16. #define SWSPI_CS 20
  17. #endif //SWSPI_AVR
  18. #define SWSPI_POL 1 //polarity
  19. #define SWSPI_PHA 0 //phase
  20. #define SWSPI_DOR 0 //data order
  21. #define SWSPI_DEL 100 //delay
  22. void swspi_init();
  23. #if (SWSPI_MOSI == SWSPI_MISO)
  24. void swspi_tx(unsigned char tx);
  25. unsigned char swspi_rx();
  26. #else //(SWSPI_MOSI == SWSPI_MISO)
  27. #define swspi_tx swspi_txrx
  28. #define swspi_rx swspi_txrx
  29. unsigned char swspi_txrx(unsigned char tx);
  30. #endif //(SWSPI_MOSI == SWSPI_MISO)
  31. void swspi_start();
  32. void swspi_stop();
  33. #endif //SWSPI_H