swspi.h 719 B

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