#include "main.h"
/* Fungsi Prototipe */
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
int main(void) {
/* Inisialisasi HAL Library */
HAL_Init();
/* Konfigurasi Clock System */
SystemClock_Config();
/* Inisialisasi GPIO */
MX_GPIO_Init();
while (1) {
/* Nyalakan LED */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
HAL_Delay(2000); // Tunggu 2 detik
/* Matikan LED */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
HAL_Delay(2000); // Tunggu 2 detik
}
}
void SystemClock_Config(void) {
/* Konfigurasi clock system default */
// Auto-generated code dari STM32CubeMX
}
static void MX_GPIO_Init(void) {
/* Inisialisasi struktur konfigurasi GPIO */
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* Aktifkan clock untuk port D */
__HAL_RCC_GPIOD_CLK_ENABLE();
/* Konfigurasi pin D2 sebagai output */
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Output push-pull
GPIO_InitStruct.Pull = GPIO_NOPULL; // Tidak ada pull-up/pull-down
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // Kecepatan rendah
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
}