rt_stm32f10x_spi.h 831 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef STM32_SPI_H_INCLUDED
  2. #define STM32_SPI_H_INCLUDED
  3. #include <rtdevice.h>
  4. #include "stm32f10x.h"
  5. #include "stm32f10x_spi.h"
  6. #include "board.h"
  7. //#define SPI_USE_DMA
  8. struct stm32_spi_bus
  9. {
  10. struct rt_spi_bus parent;
  11. SPI_TypeDef * SPI;
  12. #ifdef SPI_USE_DMA
  13. DMA_Channel_TypeDef * DMA_Channel_TX;
  14. DMA_Channel_TypeDef * DMA_Channel_RX;
  15. uint32_t DMA_Channel_TX_FLAG_TC;
  16. uint32_t DMA_Channel_TX_FLAG_TE;
  17. uint32_t DMA_Channel_RX_FLAG_TC;
  18. uint32_t DMA_Channel_RX_FLAG_TE;
  19. #endif /* SPI_USE_DMA */
  20. };
  21. struct stm32_spi_cs
  22. {
  23. GPIO_TypeDef * GPIOx;
  24. uint16_t GPIO_Pin;
  25. };
  26. /* public function list */
  27. rt_err_t stm32_spi_register(SPI_TypeDef * SPI,
  28. struct stm32_spi_bus * stm32_spi,
  29. const char * spi_bus_name);
  30. #endif // STM32_SPI_H_INCLUDED