From b7e9b1a01b9bfdaa8487071ef8f13353bb1a76fa Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 12 Sep 2021 21:38:38 +0200 Subject: basic PWM works now --- table-fan/table-fan.c | 71 +++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/table-fan/table-fan.c b/table-fan/table-fan.c index bb5fa29..2cf9a32 100644 --- a/table-fan/table-fan.c +++ b/table-fan/table-fan.c @@ -31,42 +31,47 @@ #include "led.h" #include "usbio.h" -/* #define PWM_VAL OCR1BL */ - -/* void pwm_init(void) */ -/* { */ -/* DDRB |= (1< 0) */ -/* PWM_VAL--; */ -/* } */ +#define PWM_VAL OCR4B +#define PWM_MAX 160 + +void pwm_init(void) +{ + DDRB |= (1< 0) + PWM_VAL--; +} void handle_cmd(uint8_t cmd) { switch(cmd) { case '0': led_off(); printf("ok\r\n"); break; case '1': led_on(); printf("ok\r\n"); break; - /* case '+': pwm_inc(); printf("pwm = %d\r\n", PWM_VAL); break; */ - /* case '-': pwm_dec(); printf("pwm = %d\r\n", PWM_VAL); break; */ + case '+': pwm_inc(); printf("pwm = %d\r\n", PWM_VAL); break; + case '-': pwm_dec(); printf("pwm = %d\r\n", PWM_VAL); break; case 'r': reset2bootloader(); break; default: printf("error\r\n"); return; } @@ -83,13 +88,17 @@ int main(void) led_init(); usbio_init(); - // pwm_init(); + pwm_init(); sei(); // FAN tacho input (enable Pull-Up) DDRD &= ~(1<