2024-06-09 17:57:43 +02:00

47 lines
920 B
C++

/*
* LED.cpp
*
* Created on: Jun 25, 2023
* Author: Carst
*/
#include <stm32g0xx_ll_gpio.h>
#include "STM32G071KBT6.hpp"
#include "LED.hpp"
namespace ElektronischeLast
{
LED::LED(std::uint32_t interval)
{
LL_GPIO_InitTypeDef GPIO_InitStruct = {
.Pin = LL_GPIO_PIN_6,
.Mode = LL_GPIO_MODE_OUTPUT,
.Speed = LL_GPIO_SPEED_FREQ_LOW,
.OutputType = LL_GPIO_OUTPUT_PUSHPULL,
.Pull = LL_GPIO_PULL_NO,
};
LL_GPIO_ResetOutputPin(GPIOC, LL_GPIO_PIN_6);
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
this->last_toggle = systick;
this->interval = interval;
}
LED::~LED()
{
}
void LED::blink(void)
{
if((systick - this->last_toggle) > this->interval)
{
LL_GPIO_TogglePin(GPIOC, LL_GPIO_PIN_6);
this->last_toggle = systick;
}
}
}