api-hal-spi-config.c 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include "main.h"
  2. #include "api-hal-spi-config.h"
  3. extern SPI_HandleTypeDef SPI_R;
  4. extern SPI_HandleTypeDef SPI_D;
  5. /**
  6. * SD Card in fast mode (after init)
  7. */
  8. const SPIDevice sd_fast_spi = {
  9. .spi = &SPI_D,
  10. .config = {
  11. .Mode = SPI_MODE_MASTER,
  12. .Direction = SPI_DIRECTION_2LINES,
  13. .DataSize = SPI_DATASIZE_8BIT,
  14. .CLKPolarity = SPI_POLARITY_LOW,
  15. .CLKPhase = SPI_PHASE_1EDGE,
  16. .NSS = SPI_NSS_SOFT,
  17. .BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2,
  18. .FirstBit = SPI_FIRSTBIT_MSB,
  19. .TIMode = SPI_TIMODE_DISABLE,
  20. .CRCCalculation = SPI_CRCCALCULATION_DISABLE,
  21. .CRCPolynomial = 7,
  22. .CRCLength = SPI_CRC_LENGTH_DATASIZE,
  23. .NSSPMode = SPI_NSS_PULSE_ENABLE,
  24. }};
  25. /**
  26. * SD Card in slow mode (before init)
  27. */
  28. const SPIDevice sd_slow_spi = {
  29. .spi = &SPI_D,
  30. .config = {
  31. .Mode = SPI_MODE_MASTER,
  32. .Direction = SPI_DIRECTION_2LINES,
  33. .DataSize = SPI_DATASIZE_8BIT,
  34. .CLKPolarity = SPI_POLARITY_LOW,
  35. .CLKPhase = SPI_PHASE_1EDGE,
  36. .NSS = SPI_NSS_SOFT,
  37. .BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32,
  38. .FirstBit = SPI_FIRSTBIT_MSB,
  39. .TIMode = SPI_TIMODE_DISABLE,
  40. .CRCCalculation = SPI_CRCCALCULATION_DISABLE,
  41. .CRCPolynomial = 7,
  42. .CRCLength = SPI_CRC_LENGTH_DATASIZE,
  43. .NSSPMode = SPI_NSS_PULSE_ENABLE,
  44. }};
  45. /**
  46. * Display
  47. */
  48. const SPIDevice display_spi = {
  49. .spi = &SPI_D,
  50. .config = {
  51. .Mode = SPI_MODE_MASTER,
  52. .Direction = SPI_DIRECTION_2LINES,
  53. .DataSize = SPI_DATASIZE_8BIT,
  54. .CLKPolarity = SPI_POLARITY_LOW,
  55. .CLKPhase = SPI_PHASE_1EDGE,
  56. .NSS = SPI_NSS_SOFT,
  57. .BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16,
  58. .FirstBit = SPI_FIRSTBIT_MSB,
  59. .TIMode = SPI_TIMODE_DISABLE,
  60. .CRCCalculation = SPI_CRCCALCULATION_DISABLE,
  61. .CRCPolynomial = 7,
  62. .CRCLength = SPI_CRC_LENGTH_DATASIZE,
  63. .NSSPMode = SPI_NSS_PULSE_ENABLE,
  64. }};