Arduino Bluepill STM32 spi не работает
Кто-нибудь успешно использовал SPI1 этих контактов?
SCLK -> PB3
SDIO -> PB5
SDO -> PB4
MISO CS -> PA15
Я пытался использовать другую сторону контактов SPI1 на других сторонах платы (PA4, 5, 6, 7), и я могу успешно связаться с
@Settasak, 👍0
Обсуждение2 ответа
Лучший ответ:
Это зависит от того, как вы используете объект SPI. Если вы используете объект SPI напрямую, как Arduino Uno, не создавая экземпляр объекта, конструкция SPI по умолчанию будет PA4-PA7, см. определение выводов по умолчанию и конструкция класса по умолчанию для Blue Pill.
Для STM32 Arduino Core (Stm32duino) существует четыре специальных API STM32 Arduino Core для настройки альтернативных контактов SPI.
void setMISO(uint32_t miso)
void setMOSI(uint32_t mosi)
void setSCLK(uint32_t sclk)
void setSSEL(uint32_t ssel)
Эти должны вызываться перед SPI.begin()
.
Еще один альтернативный способ использования альтернативных выводов SPI — создать объект SPI и передать назначения выводов следующим образом:
#include <SPI.h>
SPIClass mySPI(PB5, PB4, PB3, PB15); //mosi, miso, sclk, ssel
См. альтернативную конструкцию API и дополнительную информацию можно найти на вики-странице STM32duino.
Большое спасибо, вы даже не представляли, сколько часов я трачу на это дело :), @Settasak
Arduino и STM32 Blue Pill — это не одно и то же, это разные платформы. И вам нужно предоставить более подробную информацию, например, полный код.
я использовал ядро stm32arduino, поэтому я буду работать как arduino, и код очень прост, просто вывод spi на датчик, он вообще не отвечает, пока я не переключу контакт, он будет работать нормально, @Settasak
- Проблема с STM32 и SDFat lib на другом порту SPI
- Как использовать SPI на Arduino?
- Как увеличить скорость записи на SD-карту в Ардуино
- Как считывать данные с помощью Arduino SPI
- Как передать более 1 байта сразу по шине SPI?
- OVF в последовательном мониторе вместо данных
- Как отправить строку с подчиненного устройства Arduino с помощью SPI?
- Проблема совместного использования MISO с несколькими RFID-считывателями RC522
Arduino и STM32 Blue Pill — это не одно и то же, это разные платформы. И вам необходимо предоставить более подробную информацию, например, полный код., @RocknRoll
я использовал ядро stm32arduino, поэтому я буду работать как Arduino, и код очень простой, просто вывод SPI на датчик, он вообще не реагирует, пока я не переключу контакт, он будет работать нормально, @Settasak