#include "pwm_hal.h"
#include "timer_driver.h"
uint8_t duty = 0;
void setup()
{
// =========================
// INIT PWM (LED application)
// =========================
pwm_init(PWM_APP_LED, 10);
pwm_init(PWM_APP_LED, 9);
pwm_init(PWM_APP_LED, 6);
pwm_init(PWM_APP_LED, 46);
pwm_init(PWM_APP_LED, 45);
pwm_init(PWM_APP_LED, 44);
pwm_init(PWM_APP_LED, 7);
pwm_init(PWM_APP_LED, 8);
// Set initial duty (safe start)
pwm_set_duty(10, 0);
pwm_set_duty(9, 0);
pwm_set_duty(6, 0);
pwm_set_duty(46, 0);
pwm_set_duty(45, 0);
pwm_set_duty(44, 0);
pwm_set_duty(7, 0);
pwm_set_duty(8, 0);
// Start PWM
pwm_start(10);
pwm_start(9);
pwm_start(6);
pwm_start(46);
pwm_start(45);
pwm_start(44);
pwm_start(7);
pwm_start(8);
}
void loop()
{
// Increase brightness
for (duty = 0; duty <= 100; duty++)
{
pwm_set_duty(10, duty);
pwm_set_duty(9, duty);
pwm_set_duty(6, duty);
pwm_set_duty(46, duty);
pwm_set_duty(45, duty);
pwm_set_duty(44, duty);
pwm_set_duty(7, duty);
pwm_set_duty(8, duty);
timer_delay(5,MILLI_SEC);
}
// Decrease brightness
for (duty = 100; duty > 0; duty--)
{
pwm_set_duty(10, duty);
pwm_set_duty(9, duty);
pwm_set_duty(6, duty);
pwm_set_duty(46, duty);
pwm_set_duty(45, duty);
pwm_set_duty(44, duty);
pwm_set_duty(7, duty);
pwm_set_duty(8, duty);
timer_delay(5,MILLI_SEC);
}
}pin_9
pin_10
8-bit
2A
8-bit
2B
16-bit
4A
pin_6
pin_7
16-bit
4B
16-bit
4C
pin_8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16-bit
5C
pin_44
|
|
|
|
pin_46
pin_45
16-bit
5B
16-bit
5A
PULSE WIDTH MODULATION-(PWM)