47 lines
920 B
C++
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
|