📄 pmsm_8h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>AVR449: PMSM.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.4 --><div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a></div><h1>PMSM.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Motor control header file. <p>This file contains all defines, typedefs and prototypes related to the motor control.<p><dl compact><dt><b>Application note:</b></dt><dd>AVR447: Sinusoidal driving of three-phase permanent motor using ATtiny261/461/861.</dd></dl><dl compact><dt><b>Documentation</b></dt><dd>For comprehensive code documentation, supported compilers, compiler settings and supported devices see readme.html</dd></dl><dl compact><dt><b>Author:</b></dt><dd>Atmel Corporation: <a href="http://www.atmel.com">http://www.atmel.com</a> <br> Support email: <a href="mailto:avr@atmel.com">avr@atmel.com</a></dd></dl><dl compact><dt><b>Name</b></dt><dd>RELEASE_1_0 </dd></dl><dl compact><dt><b>Revision</b></dt><dd>1.5 </dd></dl><dl compact><dt><b>RCSfile</b></dt><dd><a class="el" href="PMSM_8h.html">PMSM.h</a>,v </dd></dl><dl compact><dt><b>Date</b></dt><dd>2006/05/18 09:15:31 </dd></dl><br><p>Definition in file <a class="el" href="PMSM_8h-source.html">PMSM.h</a>.<p><code>#include "<a class="el" href="stdint_8h-source.html">stdint.h</a>"</code><br><p>Include dependency graph for PMSM.h:<p><center><img src="PMSM_8h__incl.png" border="0" usemap="#PMSM.h_map" alt=""></center><map name="PMSM.h_map"><area href="stdint_8h.html" shape="rect" coords="129,5,193,32" alt=""></map><p>This graph shows which files directly or indirectly include this file:<p><center><img src="PMSM_8h__dep__incl.png" border="0" usemap="#PMSM.hdep_map" alt=""></center><map name="PMSM.hdep_map"><area href="main_8c.html" shape="rect" coords="295,31,356,57" alt=""><area href="PMSM__tables_8h.html" shape="rect" coords="130,56,244,83" alt=""></map><p><a href="PMSM_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Data Structures</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPMSMflags.html">PMSMflags</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Collection of all motor control flags. <a href="structPMSMflags.html#_details">More...</a><br></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a42">BLOCK_COMMUTATION_DUTY_MULTIPLIER</a> 3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The number to multiply speed input with to produce duty cycle compare value (0-255). <a href="#a42"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a36">COMMUTATION_TICKS_STOPPED</a> 6000</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a23">COMPARE_REGISTER_PHASE_U</a> OCR1A</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Output compare register for phase U. <a href="#a23"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a24">COMPARE_REGISTER_PHASE_V</a> OCR1B</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Output compare register for phase V. <a href="#a24"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a25">COMPARE_REGISTER_PHASE_W</a> OCR1D</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Output compare register for phase W. <a href="#a25"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a2">CPU_FREQUENCY</a> 16000000UL</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">CPU clock frequency. <a href="#a2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a3">DEAD_TIME</a> 10</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Dead time (Timer/counter1 clock cycles). <a href="#a3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a27">DIRECTION_FORWARD</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Forward direction flag value. <a href="#a27"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a16">DIRECTION_PIN</a> PA3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where direction input signal is connected. <a href="#a16"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a28">DIRECTION_REVERSE</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse direction flag value. <a href="#a28"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a29">DIRECTION_UNKNOWN</a> 3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Unknown direction flag value. <a href="#a29"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a0">FALSE</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">FALSE constant value. <a href="#a0"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a12">H1_PIN</a> PA0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where hall sensor 1 is connected. <a href="#a12"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a13">H2_PIN</a> PA1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where hall sensor 2 is connected. <a href="#a13"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a14">H3_PIN</a> PA2</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where hall sensor 3 is connected. <a href="#a14"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a15">HALL_PULL_UP_ENABLE</a> FALSE</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Hall sensor pull-up enable. Set to TRUE to enable, FALSE to disable. <a href="#a15"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a52">PID_K_D</a> 0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a51">PID_K_I</a> 10</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a50">PID_K_P</a> 256</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a4">PWM1X</a> 7</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Bit position of PWM1X flag in TCCR1B register. <a href="#a4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a26">PWM_INVERT_OUTPUT</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Selects inversion of PWM outputs. <a href="#a26"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a11">PWM_PIN_MASK_PORTB</a> ((1 << UL) | (1 << UH) | (1 << VL) | (1 << VH) | (1 << WL) | (1 << WH))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Mask of all pins used for motor control PWM outputs. <a href="#a11"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a35">PWM_TOP_VALUE</a> 0x03ff</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Top value of Timer/Counter1. <a href="#a35"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a30">SINE_TABLE_LENGTH</a> 192U</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The number of elements in the sine modulation table per phase. <a href="#a30"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a33">SINE_TABLE_SIZE</a> SINE_TABLE_SIZE_LARGE</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a31">SINE_TABLE_SIZE_LARGE</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">SINE_TABLE_SIZE value for large (3 * 192 elements) sine table. <a href="#a31"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a32">SINE_TABLE_SIZE_SMALL</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">SINE_TABLE_SIZE value for small (64 elements) sine table. <a href="#a32"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a47">SPEED_CONTROL_CLOSED_LOOP</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Speed control selection for closed loop control. <a href="#a47"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a48">SPEED_CONTROL_METHOD</a> SPEED_CONTROL_OPEN_LOOP</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a46">SPEED_CONTROL_OPEN_LOOP</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Speed control selection for open loop control. <a href="#a46"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a53">SPEED_CONTROLLER_MAX_INCREMENT</a> 620</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a54">SPEED_CONTROLLER_MAX_INPUT</a> 1024</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a49">SPEED_CONTROLLER_TIME_BASE</a> 150</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a37">SYNCHRONIZATION_COUNT</a> 2</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a34">TABLE_ELEMENTS_PER_COMMUTATION_SECTOR</a> (SINE_TABLE_LENGTH / 6)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The number of elements in the sine modulation table for each phase per commutation sector. <a href="#a34"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a55">TC1_PWM6_SET_DUTY_CYCLE</a>(dutyCycle) TC1_WRITE_10_BIT_REGISTER(OCR1A, (dutyCycle))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set duty cycle in PWM6 mode. <a href="#a55"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a1">TRUE</a> (!FALSE)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TRUE constant value, defined to be compatible with comparisons. <a href="#a1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a45">TURN_MODE</a> TURN_MODE_BRAKE</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a44">TURN_MODE_BRAKE</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TURN_MODE value for braking (low side braking). <a href="#a44"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a43">TURN_MODE_COAST</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TURN_MODE value for coasting (disabled drivers). <a href="#a43"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a6">UH</a> PB1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin connected to UH. <a href="#a6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a18">UH_OCOE</a> OC1OE1</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a5">UL</a> PB0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin connected to UL. <a href="#a5"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a17">UL_OCOE</a> OC1OE0</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a8">VH</a> PB3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin connected to VH. <a href="#a8"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a20">VH_OCOE</a> OC1OE3</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a7">VL</a> PB2</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin connected to VL. <a href="#a7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a19">VL_OCOE</a> OC1OE2</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a38">WAVEFORM_BLOCK_COMMUTATION</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag value for block commutation. <a href="#a38"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a40">WAVEFORM_BRAKING</a> 2</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag value for braking. <a href="#a40"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a39">WAVEFORM_SINUSOIDAL</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag value for sinusoidal driving. <a href="#a39"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a41">WAVEFORM_UNDEFINED</a> 3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag value used in transitions between different types of driving. <a href="#a41"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a10">WH</a> PB5</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin connected to WH. <a href="#a10"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a22">WH_OCOE</a> OC1OE5</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a9">WL</a> PB4</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin connected to WL. <a href="#a9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a21">WL_OCOE</a> OC1OE4</td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPMSMflags.html">PMSMflags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a56">PMSMflags_t</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Collection of all motor control flags. <a href="#a56"></a><br></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a74">ActualDirectionUpdate</a> (<a class="el" href="stdint_8h.html#a56">uint8_t</a> lastHall, const <a class="el" href="stdint_8h.html#a56">uint8_t</a> newHall)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a62">ADCInit</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a76">AdjustSineTableIndex</a> (const <a class="el" href="stdint_8h.html#a58">uint16_t</a> increment)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a71">BlockCommutate</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> direction, const <a class="el" href="stdint_8h.html#a56">uint8_t</a> hall)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a68">BlockCommutationSetDuty</a> (const <a class="el" href="stdint_8h.html#a58">uint16_t</a> compareValue)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a80">CommutationTicksUpdate</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a73">DesiredDirectionUpdate</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a79">DisablePWMOutputs</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a78">EnablePWMOutputs</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a64">ExternalInterruptInit</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="stdint_8h.html#a56">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a70">GetActualDirection</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="stdint_8h.html#a56">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a69">GetDesiredDirection</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="stdint_8h.html#a56">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a72">GetHall</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="stdint_8h.html#a56">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a82">IsMotorSynchronized</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a81">MotorSynchronizedUpdate</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a85">MultiplyUS15x8</a> (const <a class="el" href="stdint_8h.html#a58">uint16_t</a> m15, const <a class="el" href="stdint_8h.html#a56">uint8_t</a> m8)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a63">PinChangeInit</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a59">PLLInit</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a58">PortsInit</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a61">PWMInit</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a77">SetAdvanceCommutation</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> advanceCommutation)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a84">SineOutputUpdate</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="stdint_8h.html#a58">uint16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a75">SineTableIncrementCalculate</a> (const <a class="el" href="stdint_8h.html#a58">uint16_t</a> ticks)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="stdint_8h.html#a56">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a83">SineTableSmallGetValue</a> (<a class="el" href="stdint_8h.html#a56">uint8_t</a> index)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a57">SpeedController</a> (<a class="el" href="stdint_8h.html#a58">uint16_t</a> speedReference)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a65">TimerSetModeBlockCommutation</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a67">TimerSetModeBrake</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a66">TimerSetModeSinusoidal</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a60">TimersInit</a> (void)</td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="a42"></a><!-- doxytag: member="PMSM.h::BLOCK_COMMUTATION_DUTY_MULTIPLIER" ref="a42" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">#define BLOCK_COMMUTATION_DUTY_MULTIPLIER 3 </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>The number to multiply speed input with to produce duty cycle compare value (0-255). <p><p>Definition at line <a class="el" href="PMSM_8h-source.html#l00210">210</a> of file <a class="el" href="PMSM_8h-source.html">PMSM.h</a>.<p>Referenced by <a class="el" href="main_8c-source.html#l00965">Timer1OverflowISR()</a>. </td> </tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -