blob: 149841309f0648387b0a4dd108103f71368c3f37 (
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
<?xml version="1.0" encoding="UTF-8"?>
<!--
*
* This help file was generated from AVRPWM1Setup.sci using help_from_sci().
*
-->
<refentry version="5.0-subset Scilab" xml:id="AVRPWM1Setup" xml:lang="en"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns3="http://www.w3.org/1999/xhtml"
xmlns:mml="http://www.w3.org/1998/Math/MathML"
xmlns:scilab="http://www.scilab.org"
xmlns:db="http://docbook.org/ns/docbook">
<refnamediv>
<refname>AVRPWM1Setup</refname>
<refpurpose>Function to Setup OC1A or OC1B pin for required PWM mode</refpurpose>
</refnamediv>
<refsection>
<title>Parameters</title>
<variablelist>
<varlistentry><term>waveform_mode:</term>
<listitem><para> integer, from 0 to 2</para></listitem></varlistentry>
<varlistentry><term>output_mode:</term>
<listitem><para> integer, from 0 to 1 (or 2) depending on the waveform_mode</para></listitem></varlistentry>
<varlistentry><term>output_pin:</term>
<listitem><para> 0 (for OC1A) or 1 for (OC1B)</para></listitem></varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Description</title>
<para>
Every Micro controller has PWM pins which can generate varying voltages
from 0V-5V.This function helps to use OC1A or OC1B pin to produces required
output waveform by setting the waveform mode and otput mode.
</para>
<para>
waveform_mode can take values-
<itemizedlist>
<listitem><para>0 -> for Phase correct PWM Mode</para></listitem>
<listitem><para>1 -> for Fast PWM Mode</para></listitem>
<listitem><para>2 -> for CTC Mode</para></listitem>
</itemizedlist>
</para>
<para>
output_mode can take values-
<itemizedlist>
For Phase correct PWM Mode:
<listitem><para>0 for Clear OC1A or OC1B on compare match when up-counting. Set OC1A or OC1B on compare match when down-counting.</para></listitem>
<listitem><para>1 for Set OC1A or OC1B on compare match when up-counting. Clear OC1A or OC1B on compare match when down-counting.</para></listitem>
For Fast PWM Mode:
<listitem><para>0 for non-inverted output i.e Clear OC1A or OC1B on compare match, set OC1A or OC1B at BOTTOM.</para></listitem>
<listitem><para>1 for inverted output i.e Set OC1A or OC1B on compare match, clear OC1A or OC1B at BOTTOM.</para></listitem>
For CTC Mode:
<listitem><para>0 to Clear OC1A or OC1B on compare match</para></listitem>
<listitem><para>1 to Set OC1A or OC1B on compare match</para></listitem>
<listitem><para>2 to toggle OC1A or OC1B on compare match</para></listitem>
</itemizedlist>
</para>
<para>
This is curretly dummy function. It provides no functionality but is required
for providing support for generating C code for AVR.
</para>
<para>
Example
AVRPWM1Setup(2,0,0); //This function will select CTC mode and will clear OC1A or OC1B
on compare match.Also as defined the output will be produced at
0C1A pin.
</para>
</refsection>
<refsection>
<title>See also</title>
<simplelist type="inline">
<member><link linkend="AVRPWM1SetDuty">AVRPWM1SetDuty</link></member>
</simplelist>
</refsection>
<refsection>
<title>Authors</title>
<simplelist type="vert">
<member>Ashish Kamble</member>
</simplelist>
</refsection>
</refentry>
|