Fix SPI_SD Outside of HAL_STM32F1 (#14306)
This commit is contained in:
parent
089d12df16
commit
5b13abcacb
3 changed files with 34 additions and 25 deletions
|
@ -113,9 +113,7 @@ void spiInit(uint8_t spiRate) {
|
|||
* @details
|
||||
*/
|
||||
uint8_t spiRec(void) {
|
||||
WRITE(SS_PIN, LOW);
|
||||
uint8_t returnByte = SPI.transfer(0xFF);
|
||||
WRITE(SS_PIN, HIGH);
|
||||
return returnByte;
|
||||
}
|
||||
|
||||
|
@ -129,9 +127,7 @@ uint8_t spiRec(void) {
|
|||
* @details Uses DMA
|
||||
*/
|
||||
void spiRead(uint8_t* buf, uint16_t nbyte) {
|
||||
WRITE(SS_PIN, LOW);
|
||||
SPI.dmaTransfer(0, const_cast<uint8_t*>(buf), nbyte);
|
||||
WRITE(SS_PIN, HIGH);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -142,9 +138,7 @@ void spiRead(uint8_t* buf, uint16_t nbyte) {
|
|||
* @details
|
||||
*/
|
||||
void spiSend(uint8_t b) {
|
||||
WRITE(SS_PIN, LOW);
|
||||
SPI.send(b);
|
||||
WRITE(SS_PIN, HIGH);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -156,10 +150,8 @@ void spiSend(uint8_t b) {
|
|||
* @details Use DMA
|
||||
*/
|
||||
void spiSendBlock(uint8_t token, const uint8_t* buf) {
|
||||
WRITE(SS_PIN, LOW);
|
||||
SPI.send(token);
|
||||
SPI.dmaSend(const_cast<uint8_t*>(buf), 512);
|
||||
WRITE(SS_PIN, HIGH);
|
||||
}
|
||||
|
||||
#if ENABLED(SPI_EEPROM)
|
||||
|
|
|
@ -23,28 +23,36 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* Define SPI Pins: SCK, MISO, MOSI, SS
|
||||
*
|
||||
* Any PIN can be used for Chip Select (SS)
|
||||
* STM32F1 Default SPI Pins
|
||||
*
|
||||
* SS SCK MISO MOSI
|
||||
* +-----------------------------+
|
||||
* SPI1 | PA4 PA5 PA6 PA7 |
|
||||
* SPI2 | PB12 PB13 PB14 PB15 |
|
||||
* SPI3 | PA15 PB3 PB4 PB5 |
|
||||
* +-----------------------------+
|
||||
* Any pin can be used for Chip Select (SS_PIN)
|
||||
* SPI1 is enabled by default
|
||||
*/
|
||||
#ifndef SCK_PIN
|
||||
#define SCK_PIN PA5
|
||||
#endif
|
||||
#ifndef MISO_PIN
|
||||
#define MISO_PIN PA6
|
||||
#endif
|
||||
#ifndef MOSI_PIN
|
||||
#define MOSI_PIN PA7
|
||||
#endif
|
||||
#ifndef SS_PIN
|
||||
#define SS_PIN PA4
|
||||
#endif
|
||||
#undef SDSS
|
||||
#define SDSS SS_PIN
|
||||
|
||||
#if ENABLED(ENABLE_SPI3)
|
||||
#define SPI_DEVICE 3
|
||||
#define SCK_PIN BOARD_SPI3_SCK_PIN
|
||||
#define MISO_PIN BOARD_SPI3_MISO_PIN
|
||||
#define MOSI_PIN BOARD_SPI3_MOSI_PIN
|
||||
#define SS_PIN BOARD_SPI3_NSS_PIN
|
||||
#elif ENABLED(ENABLE_SPI2)
|
||||
#define SPI_DEVICE 2
|
||||
#define SCK_PIN BOARD_SPI2_SCK_PIN
|
||||
#define MISO_PIN BOARD_SPI2_MISO_PIN
|
||||
#define MOSI_PIN BOARD_SPI2_MOSI_PIN
|
||||
#define SS_PIN BOARD_SPI2_NSS_PIN
|
||||
#else
|
||||
#define SPI_DEVICE 1
|
||||
#define SCK_PIN BOARD_SPI1_SCK_PIN
|
||||
#define MISO_PIN BOARD_SPI1_MISO_PIN
|
||||
#define MOSI_PIN BOARD_SPI1_MOSI_PIN
|
||||
#define SS_PIN BOARD_SPI1_NSS_PIN
|
||||
#endif
|
||||
|
|
|
@ -133,8 +133,17 @@
|
|||
//#define STM32_SD_LCD
|
||||
|
||||
#if ENABLED(STM32_SD_LCD)
|
||||
#define SD_DETECT_PIN PB9
|
||||
#define ENABLE_SPI3
|
||||
#define SD_DETECT_PIN PB9
|
||||
#define SCK_PIN PB3
|
||||
#define MISO_PIN PB4
|
||||
#define MOSI_PIN PB5
|
||||
#define SS_PIN PA15
|
||||
#else
|
||||
#define SD_DETECT_PIN PA3
|
||||
#define ENABLE_SPI1
|
||||
#define SD_DETECT_PIN PA3
|
||||
#define SCK_PIN PA5
|
||||
#define MISO_PIN PA6
|
||||
#define MOSI_PIN PA7
|
||||
#define SS_PIN PA4
|
||||
#endif
|
||||
|
|
Reference in a new issue