#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stm32l0xx_hal.h>
// Definisikan pin untuk LED
#define LED_PIN GPIO_PIN_3 // Misalnya, LED dihubungkan ke PB3
#define LED_PORT GPIOB // Port B
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
int main(void)
{
// Inisialisasi HAL Library
HAL_Init();
// Konfigurasi clock sistem
SystemClock_Config();
// Inisialisasi GPIO
MX_GPIO_Init();
// Loop utama
while (1)
{
// Nyalakan LED
HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_SET);
HAL_Delay(5000); // Tunggu selama 1 detik
// Matikan LED
HAL_GPIO_WritePin(LED_PORT, LED_PIN, GPIO_PIN_RESET);
HAL_Delay(1000); // Tunggu selama 1 detik
}
return 0;
}
// Konfigurasi clock sistem
void SystemClock_Config(void)
{
// Konfigurasi ini tergantung pada kebutuhan aplikasi dan frekuensi clock yang diinginkan
}
// Inisialisasi GPIO
static void MX_GPIO_Init(void)
{
// Inisialisasi clock untuk GPIOB
__HAL_RCC_GPIOB_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct = {0};
// Konfigurasi pin LED sebagai output
GPIO_InitStruct.Pin = LED_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LED_PORT, &GPIO_InitStruct);
}Loading
st-nucleo-l031k6
st-nucleo-l031k6