⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speed__cntr_8c.html

📁 使用AVR单片机控制步进电机的软件代码
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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>AVR446 - Linear speed control of stepper motor: speed_cntr.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.7 --><div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div><h1>speed_cntr.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Linear speed ramp controller. <p>Stepper motor driver, increment/decrement the position and outputs the correct signals to stepper motor.<p><ul><li>File: <a class="el" href="speed__cntr_8c.html">speed_cntr.c</a></li><li>Compiler: IAR EWAAVR 4.11A</li><li>Supported devices: All devices with a 16 bit timer can be used. The example is written for ATmega48</li><li>AppNote: AVR446 - Linear speed control of stepper motor</li></ul><p><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.2 </dd></dl><dl compact><dt><b>RCSfile</b></dt><dd><a class="el" href="speed__cntr_8c.html">speed_cntr.c</a>,v </dd></dl><dl compact><dt><b>Date</b></dt><dd>2006/05/08 12:25:58 </dd></dl><p>Definition in file <a class="el" href="speed__cntr_8c-source.html">speed_cntr.c</a>.<p><code>#include &lt;ioavr.h&gt;</code><br><code>#include "<a class="el" href="global_8h-source.html">global.h</a>"</code><br><code>#include "<a class="el" href="sm__driver_8h-source.html">sm_driver.h</a>"</code><br><code>#include "<a class="el" href="speed__cntr_8h-source.html">speed_cntr.h</a>"</code><br><code>#include "<a class="el" href="uart_8h-source.html">uart.h</a>"</code><br><p>Include dependency graph for speed_cntr.c:<p><center><img src="speed__cntr_8c__incl.png" border="0" usemap="#speed_cntr.c_map" alt="Include dependency graph"></center><map name="speed_cntr.c_map"><area href="global_8h.html" shape="rect" coords="92,7,161,34" alt=""><area href="sm__driver_8h.html" shape="rect" coords="185,7,276,34" alt=""><area href="speed__cntr_8h.html" shape="rect" coords="300,7,399,34" alt=""><area href="uart_8h.html" shape="rect" coords="423,7,479,34" alt=""></map><p><a href="speed__cntr_8c-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>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="speed__cntr_8c.html#a5">min</a> (unsigned int x, unsigned int y)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find minimum value.  <a href="#a5"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="speed__cntr_8c.html#a2">speed_cntr_Init_Timer1</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Init of Timer/Counter1.  <a href="#a2"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="speed__cntr_8c.html#a1">speed_cntr_Move</a> (signed int step, unsigned int accel, unsigned int decel, unsigned int speed)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the stepper motor a given number of steps.  <a href="#a1"></a><br><br></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>__interrupt void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="speed__cntr_8c.html#a3">speed_cntr_TIMER1_COMPA_interrupt</a> (void)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Timer/Counter1 Output Compare A Match Interrupt.  <a href="#a3"></a><br><br></td></tr><tr><td colspan=2><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structspeedRampData.html">speedRampData</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="speed__cntr_8c.html#a0">srd</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cointains data for timer interrupt.  <a href="#a0"></a><br><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="a5" doxytag="speed_cntr.c::min" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> unsigned int min           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">unsigned int&nbsp;</td>          <td class="mdname" nowrap> <em>x</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td></td>          <td class="md" nowrap>unsigned int&nbsp;</td>          <td class="mdname" nowrap> <em>y</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Find minimum value. <p>Returns the smallest value.<p><dl compact><dt><b>Returns:</b></dt><dd>Min(x,y). </dd></dl><p>Definition at line <a class="el" href="speed__cntr_8c-source.html#l00281">281</a> of file <a class="el" href="speed__cntr_8c-source.html">speed_cntr.c</a>.<p><pre class="fragment"><div>00282 {00283   <span class="keywordflow">if</span>(x &lt; y){00284     <span class="keywordflow">return</span> x;00285   }00286   <span class="keywordflow">else</span>{00287     <span class="keywordflow">return</span> y;00288   }00289 }</div></pre>    </td>  </tr></table><a class="anchor" name="a2" doxytag="speed_cntr.c::speed_cntr_Init_Timer1" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void speed_cntr_Init_Timer1           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">void&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Init of Timer/Counter1. <p>Set up Timer/Counter1 to use mode 1 CTC and enable Output Compare A Match Interrupt. <p>Definition at line <a class="el" href="speed__cntr_8c-source.html#l00143">143</a> of file <a class="el" href="speed__cntr_8c-source.html">speed_cntr.c</a>.<p>References <a class="el" href="speed__cntr_8h-source.html#l00032">speedRampData::run_state</a>, <a class="el" href="speed__cntr_8c-source.html#l00031">srd</a>, and <a class="el" href="speed__cntr_8h-source.html#l00080">STOP</a>.<p>Referenced by <a class="el" href="main_8c-source.html#l00042">Init()</a>.<p><pre class="fragment"><div>00144 {00145   <span class="comment">// Tells what part of speed ramp we are in.</span>00146   <a class="code" href="speed__cntr_8c.html#a0">srd</a>.<a class="code" href="structspeedRampData.html#o5">run_state</a> = <a class="code" href="speed__cntr_8h.html#a7">STOP</a>;00147   <span class="comment">// Timer/Counter 1 in mode 4 CTC (Not running).</span>00148   TCCR1B = (1&lt;&lt;WGM12);00149   <span class="comment">// Timer/Counter 1 Output Compare A Match Interrupt enable.</span>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -