mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-16 11:21:18 +03:00
fix SPI run on system clock
This commit is contained in:
@ -43,7 +43,6 @@ void SPIClass::begin() {
|
||||
pinMode(MISO, SPECIAL); ///< GPIO12
|
||||
pinMode(MOSI, SPECIAL); ///< GPIO13
|
||||
|
||||
GPMUX = 0x105; // note crash if SPI flash Frequency < 40MHz
|
||||
SPI1C = 0;
|
||||
setFrequency(1000000); ///< 1MHz
|
||||
SPI1U = SPIUMOSI | SPIUDUPLEX | SPIUSSE;
|
||||
@ -187,6 +186,11 @@ void SPIClass::setFrequency(uint32_t freq) {
|
||||
}
|
||||
|
||||
void SPIClass::setClockDivider(uint32_t clockDiv) {
|
||||
if(clockDiv == 0x80000000) {
|
||||
GPMUX |= (1 << 9); // Set bit 9 if sysclock required
|
||||
} else {
|
||||
GPMUX &= ~(1 << 9);
|
||||
}
|
||||
SPI1CLK = clockDiv;
|
||||
}
|
||||
|
||||
|
@ -153,7 +153,7 @@ void Adafruit_ILI9341::writedata(uint8_t c) {
|
||||
static inline void spi_begin(void) __attribute__((always_inline));
|
||||
static inline void spi_begin(void) {
|
||||
#ifdef ESP8266
|
||||
SPI.beginTransaction(SPISettings(40000000, MSBFIRST, SPI_MODE0));
|
||||
SPI.beginTransaction(SPISettings(80000000, MSBFIRST, SPI_MODE0));
|
||||
#else
|
||||
SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user