📄 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>AVR447: Sine wave driving of three phase motor: 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 ATmega48/88/168</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.9 </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/03/27 07:20:51 </dd></dl><br><p>Definition in file <a class="el" href="PMSM_8h-source.html">PMSM.h</a>.<p><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="129,5,191,32" 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#a16">ADC_CHANNEL_CURRENT</a> 4</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The ADC channel where the motor current shunt resistor 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#a15">ADC_CHANNEL_SPEED_REF</a> 3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The ADC channel where the analog speed reference is connected. <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#a19">ADC_PRESCALER</a> ADC_PRESCALER_8</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADC clock prescaler used in this application. <a href="#a19"></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">ADC_PRESCALER_64</a> ((1 << ADPS2) | (1 << ADPS1) | (0 << ADPS0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADC clock prescaler 64 setting. <a href="#a18"></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">ADC_PRESCALER_8</a> ((0 << ADPS2) | (1 << ADPS1) | (0 << ADPS0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADC clock prescaler 8 setting. <a href="#a17"></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#a23">ADC_REFERENCE_VOLTAGE</a> ADC_REFERENCE_VOLTAGE_INTERNAL</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">ADC_REFERENCE_VOLTAGE_AREF</a> ((0 << REFS1) | (0 << REFS0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADC AREF voltage reference channel value. <a href="#a22"></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">ADC_REFERENCE_VOLTAGE_INTERNAL</a> ((1 << REFS1) | (1 << REFS0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADC internal voltage reference channel value. <a href="#a20"></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">ADC_REFERENCE_VOLTAGE_VCC</a> ((0 << REFS1) | (1 << REFS0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADC VCC voltage reference channel value. <a href="#a21"></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">ADMUX_CURRENT</a> (ADC_REFERENCE_VOLTAGE | (1 << ADLAR) | (ADC_CHANNEL_CURRENT << MUX0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADMUX settings for motor current measurement. <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#a24">ADMUX_SPEED_REF</a> (ADC_REFERENCE_VOLTAGE | (1 << ADLAR) | (ADC_CHANNEL_SPEED_REF << MUX0))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">ADMUX settings for analog speed reference measurement. <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#a40">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="#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#a34">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#a2">DEAD_TIME_HALF</a> 4</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">DIRECTION_COMMAND_PIN</a> PD2</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">DIRECTION_FORWARD</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Forward direction flag value. <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#a8">DIRECTION_REVERSE</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Reverse direction flag value. <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#a9">DIRECTION_UNKNOWN</a> 3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Unknown direction flag value. <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#a29">EMERGENCY_SHUTDOWN_PIN</a> PB5</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> PC0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where H1 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> PC1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where H2 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> PC2</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Pin where H3 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#a11">HALL_PIN</a> PINC</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">PIN register for Hall sensor input. <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#a10">HALL_PULLUP_ENABLE</a> FALSE</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">PID_K_D</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#a47">PID_K_I</a> 5</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">PID_K_P</a> 50</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">PWM_PATTERN_PORTB</a> ((1 << PB1) | (1 << PB2) | (1 << PB3))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Bit pattern of PWM pins placed on PORTB. <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#a6">PWM_PATTERN_PORTD</a> ((1 << PD3) | (1 << PD5) | (1 << PD6))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Bit pattern of PWM pins placed on PORTD. <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#a27">REV_ROTATION_PIN</a> PD4</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">REVERSE_ROTATION_SIGNAL_ENABLE</a> TRUE</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">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="#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#a43">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="#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#a44">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#a42">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="#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#a49">SPEED_CONTROLLER_MAX_INCREMENT</a> 550</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">SPEED_CONTROLLER_MAX_INPUT</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#a45">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#a41">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#a4">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="#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#a35">TACHO_OUTPUT_ENABLED</a> TRUE</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">TACHO_OUTPUT_PIN</a> PD7</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#a39">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#a38">TURN_MODE_BRAKE</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TURN_MODE value for braking (drivers connected to ground). <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#a37">TURN_MODE_COAST</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">TURN_MODE value for coasting (disabled drivers). <a href="#a37"></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">WAVEFORM_BLOCK_COMMUTATION</a> 0</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform constant for block commutation. Used as status flag. <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#a32">WAVEFORM_BRAKING</a> 2</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag for braking. <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#a31">WAVEFORM_SINUSOIDAL</a> 1</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag for sinusoidal driving. <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#a33">WAVEFORM_UNDEFINED</a> 3</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waveform status flag used in transitions between different types of driving. <a href="#a33"></a><br></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#a51">PMSMflags_t</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Collection of all motor control flags. <a href="#a51"></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#a69">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">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a87">ADCCompleteISR</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">AD conversion complete interrupt service routine. <a href="#a87"></a><br></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">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#a72">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#a65">BlockCommutate</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> direction, <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#a57">BlockCommutationSetDuty</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> duty)</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#a68">CalculateActualDirection</a> (const <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#a61">CheckEmergencyShutdown</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">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#a67">DesiredDirectionUpdate</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a83">DirectionInputChangeISR</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Direction input change interrupt service routine. <a href="#a83"></a><br></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">DisablePWMOutputs</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a81">EmergencyInterruptISR</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Emergency shut-off interrupt service routine. <a href="#a81"></a><br></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">EnablePWMOutputs</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#a64">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#a63">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#a66">GetHall</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a82">HallChangeISR</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Hall sensor change interrupt service routine. <a href="#a82"></a><br></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">InsertDeadband</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> compareValue, <a class="el" href="stdint_8h.html#a56">uint8_t</a> *compareHighPtr, <a class="el" href="stdint_8h.html#a56">uint8_t</a> *compareLowPtr)</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#a80">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#a79">MotorSynchronizedUpdate</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">PinChangeIntInit</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#a70">ReverseRotationSignalUpdate</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#a74">SetAdvanceCommutation</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> leadAngle)</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#a73">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 void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a62">SpeedController</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#a75">TachoOutputUpdate</a> (const <a class="el" href="stdint_8h.html#a56">uint8_t</a> hall)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a84">Timer1CaptureISR</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Timer1 Capture Evente interrupt service routine. <a href="#a84"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a85">Timer2OverflowISR</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#a52">TimersInit</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#a54">TimersSetModeBlockCommutation</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#a55">TimersSetModeBrake</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#a53">TimersSetModeSinusoidal</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#a56">TimersWaitForNextPWMCycle</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__interrupt void </td><td class="memItemRight" valign="bottom"><a class="el" href="PMSM_8h.html#a86">WatchdogISR</a> (void)</td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="a16"></a><!-- doxytag: member="PMSM.h::ADC_CHANNEL_CURRENT" ref="a16" 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 ADC_CHANNEL_CURRENT 4 </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>The ADC channel where the motor current shunt resistor is connected. <p><p>Definition at line <a class="el" href="PMSM_8h-source.html#l00092">92</a> of file <a class="el" href="PMSM_8h-source.html">PMSM.h</a>. </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -