STM32 z Arduino IDE

Dołączenie płytek STM32 do Arduino IDE

Dodaj link do płytek STM32 w Preferencjach: https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/main/package_stmicroelectronics_index.json

Zainstaluj płytki STM32 MCU based boards by STMicroelectronics

Wgrywanie kodu przez USB

Przykład na podstawie STM32F401CCU6 Blackpill

Zainstaluj program STM32CubeProgrammer: https://www.st.com/en/development-tools/stm32cubeprog.html

Przełącz płytkę w tryb bootloader:

  1. Naciśnij i przytrzymaj przycisk BOOT0
  2. Naciśnij i zwolnij przycisk NRST (reset), aby zrestartować procesor
  3. Zwolnij przycisk BOOT0

Zastosuj ustawienia w Arduino IDE, wybierz odpowiednią płytkę oraz Upload method: STM32CubeProgrammer (DFU)

Wgrywanie kodu przez programator ST LINK

Pobierz i zainstaluj sterowniki do ST LINK

https://www.st.com/en/development-tools/stsw-link009.html

Połączenie STM32 z ST LINK za pomocą 4 przewodów: 3.3V – 3.3V, GND – GND, SWIO – SWDIO, SWCLK – SWCLK

Po podłączeniu ST LINK połączonego z STM32 do komputera, w menedżerze urządzeń powinnien pokazać się STM32 STLink

Wybierz ustawienia do wgrania programu:

Zastosuj ustawienia w Arduino IDE, wybierz odpowiednią płytkę oraz Upload method: OpenOCD STLink (SWD)

Program blink

#define LED_BUILTIN PC13

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);                     
  digitalWrite(LED_BUILTIN, LOW); 
  delay(1000);                     
}

Program włączający LED za pomocą przycisku

#define USER_BUTTON PA0
#define LED_BUILTIN PC13

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(USER_BUTTON, INPUT_PULLUP);
}

void loop() {
  int buttonState = digitalRead(USER_BUTTON);
  if (buttonState == LOW) {
    digitalWrite(LED_BUILTIN, LOW);
  } else {
    digitalWrite(LED_BUILTIN, HIGH);
  }
  delay(100);
}

Leave a Comment

Scroll to Top