Gambaran Umum STM32L432
STM32L432 adalah mikrokontroler berdaya sangat rendah yang dikembangkan oleh STMicroelectronics. Mikrokontroler ini didasarkan pada inti ARM Cortex-M4 dan dirancang untuk sistem tertanam yang hemat energi. Dengan menggabungkan kemampuan komputasi yang tangguh dan konsumsi daya yang rendah, mikrokontroler ini sangat cocok untuk perangkat IoT dan aplikasi portabel.
Spesifikasi
Seri STM32L432 menawarkan fitur-fitur teknis utama berikut:
Inti Prosesor:
- Prosesor RISC 32-bit ARM Cortex-M4
- Beroperasi hingga 80 MHz dengan dukungan perkalian satu siklus dan pembagian perangkat keras
- Unit Bilangan Pecahan (FPU) terintegrasi dan instruksi Pemrosesan Sinyal Digital (DSP)
Memori:
- 256 KB Flash (memori yang dapat diprogram di dalam chip)
- 64 KB SRAM
- Dukungan untuk perluasan memori eksternal
Fitur hemat daya:
- Beberapa mode hemat daya: Sleep, Stop, dan Standby
- Konsumsi daya dinamis: hanya 37 µA/MHz pada operasi 80 MHz
- Arus mode Stop: sekitar 250 nA
- Rentang tegangan luas: 1,8 V hingga 3,6 V dengan manajemen daya terintegrasi
Antarmuka dan Periferal:
- GPIO: Hingga 51 pin input/output serbaguna
- Antarmuka komunikasi: USART/UART, I2C, SPI, CAN, USB 2.0 (Kecepatan Penuh)
- Timer: Timer serbaguna, berdaya rendah, dan canggih (keluaran PWM)
- ADC/DAC: ADC 12-bit (16 saluran) dan DAC 12-bit
- Dukungan osilator bawaan dan jam waktu nyata (RTC)
Opsi Kemasan:
- Tersedia dalam berbagai kemasan (misalnya, LQFP, UFBGA, WLCSP) untuk memenuhi berbagai kebutuhan ukuran.
Aplikasi
Berkat konsumsi daya yang rendah dan kinerjanya yang tinggi, STM32L432 banyak digunakan di bidang-bidang berikut:
Perangkat IoT:
- Sistem rumah pintar (misalnya, kunci pintar, sensor suhu dan kelembapan)
- Perangkat yang dapat dikenakan (misalnya, pelacak kebugaran, peralatan pemantauan kesehatan)
Kontrol Industri:
- Sistem akuisisi data dan kontrol
- Meter pintar dan node sensor
Perangkat portabel:
- Perangkat yang bertenaga baterai (misalnya, alat medis portabel)
- Layar berdaya rendah (misalnya, pengontrol layar e-ink)
Elektronik Konsumen:
- Mainan dan robotika
- Remote control pintar
Aplikasi Keamanan dan Enkripsi:
- Dukungan enkripsi AES perangkat keras untuk komunikasi yang aman
Keuntungan
- Desain Hemat Daya: Ideal untuk perangkat bertenaga baterai yang membutuhkan masa pakai yang lebih lama.
- Hemat Biaya: Memberikan kinerja yang sangat baik dengan harga yang kompetitif.
- Ekosistem Pengembangan yang Kuat: Didukung oleh STM32CubeMX, STM32CubeIDE, serta rangkaian lengkap pustaka dan alat dari ST.
- Keandalan: Desain kelas industri, dengan toleransi suhu tinggi dan rentang tegangan operasi yang luas.
Pengendalian GPIO Menggunakan Papan NUCLEO-L432KC
Dalam contoh ini, kita akan membahas prinsip-prinsip rangkaian LED pada papan STM32L432KC, membuat proyek baru menggunakan STM32CubeMX, dan menguasai teknik pemrograman untuk membuat LED berkedip.
Bahan yang Diperlukan
- Papan pengembangan NUCLEO-L432KC
- Kabel USB untuk daya dan komunikasi
- LED (jika diperlukan LED eksternal)
- Resistor (misalnya, 220Ω untuk LED eksternal)
- Perangkat lunak STM32CubeMX
- Lingkungan pengembangan seperti MDK5 (Keil) atau STM32CubeIDE
Langkah 1: Buat Proyek Baru Menggunakan STM32CubeMX
Pertama-tama, silakan pilih MCU STM32L432KC dan buat proyek STM32CubeMX baru.
Selanjutnya, kita akan mengonfigurasi osilator untuk STM32L432KC. Berdasarkan skema, osilator kristal eksternal kecepatan rendah dihubungkan ke PC14 dan PC15. Konfigurasikan pin GPIO ini dalam mode "Crystal/Ceramic Resonator".
Penjelasan tentang Mode Osilator: Sumber
Jam BYPASS: Chip ini melewati komponen penggerak jam internal dan langsung menggunakan sinyal jam eksternal.
Resonator Kristal/Keramik: Menggunakan kristal pasif eksternal yang dipadukan dengan sirkuit penggerak jam internal MCU, sehingga menawarkan presisi yang lebih tinggi namun memerlukan waktu untuk memulai.
Konfigurasikan GPIO untuk LED. Atur PB3 ke mode "GPIO_Output" dengan parameter berikut:
- Output push-pull
- Output level rendah default (LED mati pada awalnya)
- Tanpa resistor pull-up atau pull-down
Konfigurasikan jam sistem. Untuk mempermudah, atur jam sistem ke 80 MHz, sehingga STM32CubeMX dapat mengonfigurasi pengaturan yang diperlukan secara otomatis.
Tentukan preferensi pembuatan kode di antarmuka Proyek:
- Beri nama proyek dan pilih alat pengembangan (misalnya, MDK5).
- Aktifkan "Generate peripheral initialization as a…" untuk membuat
.cuntuk periferal (misalnya, GPIO, I2C, SPI).
Setelah mengatur semua opsi proyek, kita dapat membuat proyek tersebut. Jika ini adalah pertama kalinya Anda menggunakan STM32CubeMX, Anda perlu mengunduh paket perangkat lunak berikut ini:
Selanjutnya, lanjutkan proses pembuatan kode, dan setelah proses tersebut berhasil, buka folder proyek.
Folder tersebut akan berisi berkas proyek STM32CubeMX dan MDK5, sehingga memudahkan pengeditan di STM32CubeMX. Sekarang kita dapat menjalankan proyek "NUCLEO-L432KC(LED_Blinking)" yang terdapat di dalam folder MDK-ARM.
Langkah 2: Tulis Kode untuk Membuat LED Berkedip
Temukan fungsi yang diperlukan dalam berkas STM32 HAL:
HAL_GPIO_TogglePin()danHAL_GPIO_WritePin()distm32l4xx_hal_def.h.HAL_Delay()distm32l4xx_hal.h.
Jalankan kode di bawah ini untuk membuat LED berkedip setiap 2 detik:
/* USER CODE BEGIN WHILE */
while (1)
{
// Method 1: Using HAL_GPIO_TogglePin()
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3);
HAL_Delay(2000);
// Method 2: Using HAL_GPIO_WritePin()
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET); // Turn off for 2 seconds
HAL_Delay(2000);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET); // Turn on for 2 seconds
HAL_Delay(2000);
}
/* USER CODE END WHILE */
Kompilasi kode tersebut dan pastikan tidak ada kesalahan.
Langkah 3: Konfigurasikan Parameter Flashing
Papan NUCLEO-L432KC dilengkapi dengan debugger dan programmer STLINK/V2-1 terintegrasi.
- Konfigurasikan proyek untuk menggunakan ST-LINK dalam proses pengunduhan.
- Atur parameter flashing seperti yang ditunjukkan pada antarmuka STM32CubeMX, lalu unduh programnya.




