STM32 - Getting Started

Membuat Akun myST

Buat akun dengan menggunakan email pribadi di website https://my.st.com/cas/login?lang=en&service=https%3A%2F%2Fwww.st.com%2Fcontent%2Fst_com%2Fen.html. Akun ini akan digunakan untuk mengunduh software yang diperlukan dan login pada software STM32CubeIDE. Ikut langkah-langkahnya dan lakukan verifikasi email. Simpan username/email dan password dari akun yang telah dibuat. Login pada halaman website tersebut.

Mengunduh Software

Untuk membuat program STM32 maka perlu 2 software berikut yaitu:

  1. STM32CubeIDE - Untuk membuat program (https://www.st.com/en/development-tools/stm32cubeide.html)
  2. STM32CubeProgrammer - Untuk memasukkan program ke dalam STM32 (https://www.st.com/en/development-tools/stm32cubeprog.html)
    Unduh kedua software tersebut dan pastikan mengunduh versi yang terbaru.

Menginstall Software

  1. Ekstrak file yang sudah di Unduh lalu lakukan instalasi seperti biasa
  2. Jika ada muncul popup meminta menginstall driver klik install (biasanya ketika menginstall STM32CubeProgrammer)

Membuka Software

  1. Buka STM32CubeIDE lalu login dengan klik help > STM32Cube updates> Connection to myST > Enter myST account information lalu masukan email dan password dari akun myST yang sudah dibuat sebelumnya
  2. STM32CubeProgrammer tidak memerlukan proses login

Membuat Project Baru

Project yang akan dibuat adalah Blinking LED yang terhubung pada pin PB9

  1. Buka STM32CubeIDE
  2. Pilih File > New > STM32 Project maka muncul Target Selection
  3. Pada Commercial Part Number masukan F103C8T6
  4. MCUs/MPUs List pilih STM32F103C8T6 lalu klik Next
    STM32CubeIDE Target Selection.png
  5. Masukan Project Name misalnya Latihan 1
  6. Pastikan Targeted Project Type memilih STM32Cube lalu klik Finish. Jika tidak bisa, pastikan menggunakan STM32CubeIDE versi terbaru
    STM32CubeIDE Project Setup.png

Device Configuration Tool

Setelah membuat project baru maka akan muncul tampilan Device Configuration Tool. Bagian ini berfungsi untuk mengatur perangkat yang akan di-program lalu meng-generate program sesuai dengan pengaturan yang dilakukan. Pada project ini terdapat beberapa hal yang perlu diatur.

  1. Tab Pinout & Configuration > System Core
    1. RCC
    - High Speed Clock menjadi Crystal/Ceramic Resonator
    - Low Speed Clock menjadi Crystal/Ceramic Resonator
    STM32CubeIDE RCC.png
    2. SYS
    - Debug menjadi Serial Wire
    3. GPIO
    - Pada Pinout view klik pada PB9 lalu pilih GPIO_Output
    STM32CubeIDE Pinout view.png
  2. Tab Clock Configuration
    HCLK diatur ke 72 lalu tekan enter. Jika ada pop up No solution ... pilih OK dan tunggu hingga proses selesai
    STM32CubeIDE - Clock Configuration.png
  3. Generate program dengan pilih project > Generate Code atau tekan Alt + K maka akan muncul tampilan baris-baris program hasil generate code tadi.

Mulai Membuat Program

Untuk mengubah kondisi suatu pin maka perlu dilakukan write pada pin tersebut. Pin yang akan diatur adalah PB9. Maksudnya adalah Port B pin ke 9. Syntax-nya adalah

HAL_GPIO_WritePin(GPIOx, GPIO_Pin, PinState);

Sehingga jika akan mengatur PB9 mengeluarkan logika 1 maka programnya adalah

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 1); 

Cari baris program berikut

/* USER CODE BEGIN WHILE */

while (1)

{

/* USER CODE END WHILE */

Tambahkan program berikut diantara USER CODE BEGIN WHILE dan USER CODE END WHILE

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 1); 
HAL_Delay(500); 
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 0); 
HAL_Delay(500); 

Sehingga menjadi seperti berikut

while (1)

{

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 1); 
HAL_Delay(500); 
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 0); 
HAL_Delay(500); 

/* USER CODE END WHILE */


/* USER CODE BEGIN 3 */

}

Penjelasan program

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, 1); 

Mengatur PB9 agar mengeluarkan output 1 atau high

HAL_Delay(500); 

Menahan kondisi terakhir selama 500 milisekon atau setengah detik

Build Project

Build project berguna untuk memeriksa program yang sudah dibuat. Jika masih ada kesalahan maka akan muncul error dengan jumlah tertentu. Untuk mem-build project caranya adalah klik Project > Build Project atau Ctrl + B. Hasil dari build akan muncul pada bagian Console yang ada pada bagian bawah tampilan layar. Pastikan tidak ada errors. Jika tidak ada errors maka STM32 akan meng-generate file .elf yang akan di masukan ke STM32.
STM32CubeIDE Console.png

Download Program

Download program adalah proses memasukkan ke dalam IC. File yang akan dimasukkan memiliki format [nama_project].elf. File tersebut ada ada di dalam folder Debug dari folder project yang dibuat. Cara menemukan folder project yang dibuat adalah dengan klik kanan pada nama project di Project Explorer > Properties lalu klik Copy full path
STM32CubeIDE - Folder Path.png

Buka software STM32CubeProgrammer lalu klik Open File dan paste folder path di bagian path. Buka folder Debug dan cari file .elf untuk kali ini nama filenya adalah Latihan 1.elf. Pilih lalu klik Open.
STM32CubeProgrammer - Folder Path.png

Hubungkan ST-Link yang sudah terhubung ke STM32 F103C8T6 ke laptop lalu tekan Connect. Setelah itu tekan tombol Download. Tekan tombol reset pada STM32 maka STM32 akan menjalankan program yang sudah dimasukkan.