summaryrefslogtreecommitdiff
path: root/src/c/hardware/avr/pwm/u8AVRPWMSetDutys.c
blob: adb186a677075efdc644626b87ff751c02ed957b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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;
	}
  

}