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

📄 macro_8h.html

📁 avr32100.zip Embedded demo
💻 HTML
📖 第 1 页 / 共 2 页
字号:
</div><p><a class="anchor" name="a286c4d9f5bd579a9067d989c66ef7a3"></a><!-- doxytag: member="macro.h::READBITS" ref="a286c4d9f5bd579a9067d989c66ef7a3" args="(sregister, return_value)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define READBITS          </td>          <td>(</td>          <td class="paramtype">sregister,         <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">return_value&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p><b>Value:</b><div class="fragment"><pre class="fragment">__asm__ __volatile__( <span class="stringliteral">"st.w sp++, r6\n"</span> \                        <span class="stringliteral">"mfsr r6, %1\n"</span> \                        <span class="stringliteral">"st.w %0, r6\n"</span> \                        <span class="stringliteral">"ld.w r6, --sp\n"</span> \                        : <span class="stringliteral">"=g"</span>(return_value) \                        :<span class="stringliteral">"X"</span>(sregister) )</pre></div>define to read a given system registers <p>Store r6 register on stack and increment pointer. Then load the system register<dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>sregister</em>&nbsp;</td><td>and store this value in the</td></tr>    <tr><td valign="top"></td><td valign="top"><em>return_value</em>&nbsp;</td><td>before loading value from stack and deincrement r7. </td></tr>  </table></dl><p>Definition at line <a class="el" href="macro_8h-source.html#l00092">92</a> of file <a class="el" href="macro_8h-source.html">macro.h</a>.</div></div><p><a class="anchor" name="5b04fafb462f678a6573b80cf371048c"></a><!-- doxytag: member="macro.h::SETBIT" ref="5b04fafb462f678a6573b80cf371048c" args="(sregister, bitname)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define SETBIT          </td>          <td>(</td>          <td class="paramtype">sregister,         <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">bitname&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p><b>Value:</b><div class="fragment"><pre class="fragment">__asm__( <span class="stringliteral">"st.w sp++, r7\n"</span> \                        <span class="stringliteral">"mfsr r7, %0\n"</span> \                        <span class="stringliteral">"sbr r7, %1\n"</span> \                        <span class="stringliteral">"mtsr %0, r7\n"</span> \                        <span class="stringliteral">"ld.w r7, --sp\n"</span> \                        : \                        :<span class="stringliteral">"X"</span>(sregister), <span class="stringliteral">"g"</span>(bitname) )</pre></div>define which sets a bit in system registers <p>First store the r7 register on the stack and increment the pointer. Then load the system register<dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>sregister,set</em>&nbsp;</td><td>the bit</td></tr>    <tr><td valign="top"></td><td valign="top"><em>bitname,store</em>&nbsp;</td><td>the system register and load value from stack to r7 and deincrement. </td></tr>  </table></dl><p>Definition at line <a class="el" href="macro_8h-source.html#l00031">31</a> of file <a class="el" href="macro_8h-source.html">macro.h</a>.</div></div><p><a class="anchor" name="897e2a604a348ff95049e5b2a478f11d"></a><!-- doxytag: member="macro.h::TGLBIT" ref="897e2a604a348ff95049e5b2a478f11d" args="(sregister, bitname)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define TGLBIT          </td>          <td>(</td>          <td class="paramtype">sregister,         <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">bitname&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;TOGGLEBIT(sregister, bitname)</td>        </tr>      </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="macro_8h-source.html#l00082">82</a> of file <a class="el" href="macro_8h-source.html">macro.h</a>.</div></div><p><a class="anchor" name="3b39fa193fcd808edb19a42858aaa2af"></a><!-- doxytag: member="macro.h::TOGGLEBIT" ref="3b39fa193fcd808edb19a42858aaa2af" args="(sregister, bitname)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define TOGGLEBIT          </td>          <td>(</td>          <td class="paramtype">sregister,         <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">bitname&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p><b>Value:</b><div class="fragment"><pre class="fragment">__asm__( <span class="stringliteral">"st.w sp++, r7\n"</span> \                        <span class="stringliteral">"st.w sp++, r6\n"</span> \                        <span class="stringliteral">"mfsr r7, %0\n"</span> \                        <span class="stringliteral">"mov r6, 0\n"</span> \                        <span class="stringliteral">"sbr r6, %1\n"</span> \                        <span class="stringliteral">"eor r7, r6\n"</span> \                        <span class="stringliteral">"mtsr %0, r7\n"</span> \                        <span class="stringliteral">"ld.w r6, --sp\n"</span> \                        <span class="stringliteral">"ld.w r7, --sp\n"</span> \                        : \                        :<span class="stringliteral">"X"</span>(sregister), <span class="stringliteral">"g"</span>(bitname) )</pre></div>define which toggles a bit in system registers <p>First store the r7 register on the stack and increment the pointer. Then load the system register<dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>sregister,toggle</em>&nbsp;</td><td>the bit</td></tr>    <tr><td valign="top"></td><td valign="top"><em>bitname</em>&nbsp;</td><td>by using an exclusive or, store the system register and load value from stack to r7 and deincrement. </td></tr>  </table></dl><p>Definition at line <a class="el" href="macro_8h-source.html#l00069">69</a> of file <a class="el" href="macro_8h-source.html">macro.h</a>.</div></div><p><hr size="1"><address style="align: right;"><small>Generated on Thu May 10 14:14:48 2007 for AVR321000 Communication with the AVR32 USART by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>

⌨️ 快捷键说明

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