#include "stm32l0xx_hal.h"
#include <cstdint>
class Led {
public:
Led(GPIO_TypeDef* con, uint32_t pn) : c{con}, p{pn}, pp{pn} {}
void led_conect()
{
GPIO_InitTypeDef my_led_set;
my_led_set.Pin = p;
my_led_set.Mode = GPIO_MODE_OUTPUT_PP;
my_led_set.Pull = GPIO_NOPULL;
my_led_set.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(c, &my_led_set);
}
void led_toggle()
{
HAL_GPIO_TogglePin(c, pp);
}
void delay_time(int i)
{
HAL_Delay(i);
}
private:
GPIO_TypeDef* c;
uint32_t p;
uint16_t pp;
};
int main(void) {
HAL_Init();
Led led(GPIOB,GPIO_PIN_3);
led.led_conect();
while (1) {
led.led_toggle();
led.delay_time(500);
}
}
Loading
st-nucleo-l031k6
st-nucleo-l031k6