From 329613eb48542f24bb9014a0a617b05199726e99 Mon Sep 17 00:00:00 2001 From: siddhu8990 Date: Thu, 17 Dec 2015 14:48:36 +0530 Subject: Code generation for Arduino changed. DC motor added to Arduino. --- src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c | 39 +++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c (limited to 'src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c') diff --git a/src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c b/src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c new file mode 100644 index 0000000..adb186a --- /dev/null +++ b/src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c @@ -0,0 +1,39 @@ +// Function to set duty for PWM of AVR +// +// Calling Sequence +// u8AVRPWMSetDutys(uint8 timer, uint8 duty) +// +// Parameters +// timer: timer to be used for PWM generation (0,1,2) +// duty: duty for PWM waveform (0-100) +// +// Description +// This function sets duty for PWM waveform according to given parameters. +// +// Examples +// u8AVRPWMSetDutys(0,10) //Sets 10% duty for timer 0 output. +// +// Authors +// Siddhesh Wani +// + +#include "AVRPeripheralPWM.h" + +uint8 u8AVRPWMSetDutys(uint8 timer, uint8 duty) +{ + uint8 duty_value=0; + + switch(timer) + { + case 0: + duty_value = (uint8)(((uint16)(duty * 0xff))/100); + OCR0 = duty_value; + break; + case 2: + duty_value = (uint8)(((uint16)(duty * 0xff))/100); + OCR2 = duty_value; + break; + } + + +} -- cgit