#include "pico/stdlib.h"
#include "hardware/pwm.h"
#include "hardware/timer.h"
#include "stdio.h"
#define LED_RED 13
#define LED_BLUE 12
const uint16_t period = 2000;
const float divider_pwm = 16.0;
const uint8_t step = 5;
uint8_t led_level = 100;
void setup_pwm(uint led) {
uint slice;
gpio_set_function(led, GPIO_FUNC_PWM);
slice = pwm_gpio_to_slice_num(led);
pwm_set_clkdiv(slice, divider_pwm);
pwm_set_wrap(slice, period);
pwm_set_gpio_level(led, 100);
pwm_set_enabled(slice, true);
}
int main() {
stdio_init_all();
setup_pwm(LED_RED);
setup_pwm(LED_BLUE);
pwm_set_gpio_level(LED_BLUE, 100);
while (1) {
sleep_ms(2000);
led_level = led_level + step;
if (led_level > 100) {
led_level = 5;
}
pwm_set_gpio_level(LED_RED, led_level);
printf("LED level: %d\n", led_level);
}
}