mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 02:27:48 +00:00
stm32: make SPI CLK fast to fix data issue
See "STM32F40x and STM32F41x Errata sheet" - SPI CLK port must be 'fast' or 'very fast' to avoid data corruption on last bit (at the APB clocks we configure).
This commit is contained in:
@@ -55,9 +55,11 @@ const (
|
||||
gpioPullMask = 0x3
|
||||
|
||||
// OSPEED bitfields.
|
||||
gpioOutputSpeedHigh = 2
|
||||
gpioOutputSpeedLow = 0
|
||||
gpioOutputSpeedMask = 0x3
|
||||
gpioOutputSpeedVeryHigh = 3
|
||||
gpioOutputSpeedHigh = 2
|
||||
gpioOutputSpeedMedium = 1
|
||||
gpioOutputSpeedLow = 0
|
||||
gpioOutputSpeedMask = 0x3
|
||||
)
|
||||
|
||||
// Configure this pin with the given configuration
|
||||
@@ -120,7 +122,7 @@ func (p Pin) ConfigureAltFunc(config PinConfig, altFunc uint8) {
|
||||
// SPI
|
||||
case PinModeSPICLK:
|
||||
port.MODER.ReplaceBits(gpioModeAlternate, gpioModeMask, pos)
|
||||
port.OSPEEDR.ReplaceBits(gpioOutputSpeedLow, gpioOutputSpeedMask, pos)
|
||||
port.OSPEEDR.ReplaceBits(gpioOutputSpeedHigh, gpioOutputSpeedMask, pos)
|
||||
port.PUPDR.ReplaceBits(gpioPullFloating, gpioPullMask, pos)
|
||||
p.SetAltFunc(altFunc)
|
||||
case PinModeSPISDO:
|
||||
|
||||
Reference in New Issue
Block a user