Assalamualaikum.
kali ini kita coba blink dan printf di serial STM32L432KC.. menggunakan STM32CubeIDE ,
Berikut tampilan STM32Cube IDE..
Code sudah saya tulis, jadi sy terangin saja ...
kita coba generate project baru..
-
File > New Project > STM32 Project
-
Pilih microcontroller, disini saya menggunakan NUCLEO-32 STM32L432KC. jadi langsung saya pilih di boardnya. Klik next.
-
Beri nama project, "blink_printf"
-
Klik Next
-
Pilih target and firmware package, jika belum ada anda akan mendownload terlebih dahulu sesuai microcontroller yang di pilih. Klik FINISH
-
karena saya menggunakan Board Nucleo-32, saya langsung aktifkan saja default peripheralnya.. Klik YES
-
Tunggu prosesnya.. sabar...
-
Oke , default LED yang ada di board Nucleo-32 ini ada di LD3 (PB3), Sebagai GPIO_Output..
-
Sedangkan serial ke PC (USB-Serial), dihubungkan ke USART2 PA2 - TX PA15 - RX
-
Selanjutnya kita klik di SAVE ALL pada menu, lalu code akan di generate..
-
Selanjutnya kita buka project "blink_printf"..
-
buka project "blink_prinf" > "Core" > "Src" > "main.c".
-
pada main.c kita akan menuliskan code.
-
untuk membuat GPIO menjadi HIGH >> HAL_GPIO_WritePin(LD3_GPIO_Port, LD3_Pin, GPIO_PIN_SET);
-
untuk membuat GPIO menjadi LOW >> HAL_GPIO_WritePin(LD3_GPIO_Port, LD3_Pin, GPIO_PIN_RESET);
-
untuk membuat Delay >> HAL_Delay(1000); "1000" dalam milliseconds.
-
untuk melakukan serial print. atau printf di STM32 maka copy kan code berikut,..
int __io_putchar(int ch) { HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch; }
int __io_getchar(void) { int ch = 0; while(!__HAL_UART_GET_FLAG(&huart2, UART_FLAG_RXNE)); HAL_UART_Receive(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch; }
ke bawah USER CODE BEGIN 4
lalu tambahkan #include "stdio.h" di bawah USER CODE BEGIN Includes
- code yang ditambahkan diantara tulisan USER CODE BEGIN dan USER CODE END, tidak akan berubah saat kita generate ulang code di STM32CubeMX (saat kita pilih pin IC tadi).
- untuk printf. maka tuliskan saja printf("LED HIDUP\r\n");
atau printf("LED MATI\r\n");
-
"Save" lalu "Build All".. "Build Finished. 0 errors, 0 warnings."
-
Untuk upload ke board. bisa pakai "Debug" atau "Run"
-
kita coba "Debug". lalu klik "Resume" agar program dijalankan..
- dalam mode "Debug" saat program bermasalah kita bisa melihat kesalahannya melalui prespective saat debugging. misal melihat isi variabel yang sering saya pakai..
- Buka serial monitor,.
untuk defaultnya sesuai STM32CubeMX kita pakai 115200
untuk merubahnya. kita bisa ubah pada "blink_printf.ioc"
-
kita coba ubah baudrate menjadi 9600.
-
"Connectivity" > "USART2" > "Parameter Setting" > "Baudrate" > tulis "9600". lalu "Save All"
-
sekarang coba kita "Run"
-
klik "ok" pada "Edit Config"
-
pada serial monitor tidak terlihat karena kita sudah ganti baud menjadi 9600.
-
oke sekian tutorial singkat ini.. code dapat di unduh lewat GITHUB yaa..
wassalamualaikum wr wb.