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

📄 task_8h.html

📁 yavrtos,一款用于广泛用于AVR单片机的RTOS,文件里是这款OS的源码
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<tr><td colspan="2"><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtask__t.html">task_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__task.html#g4743b3673a8794b8e7bd0b6c91a63cd5">current_task</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The current task.  <a href="group__task.html#g4743b3673a8794b8e7bd0b6c91a63cd5"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structsystem__struct.html">system_struct</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="task_8h.html#8e20fafa56301aad5b476cbd2c9e5b48">system</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p><b>For internal use only.</b></p><p>The <a class="el" href="structsystem__struct.html" title="Structure used by the system to hold the system stack, and a flag indicating whether...">system_struct</a> used to hold the system stack and a flag indicating whether an ISR is currently being executed </p> <a href="#8e20fafa56301aad5b476cbd2c9e5b48"></a><br></td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="7e11bac5a51572c5db72502c47cf90d3"></a><!-- doxytag: member="task.h::restore_cpu_context" ref="7e11bac5a51572c5db72502c47cf90d3" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define restore_cpu_context          </td>          <td>(</td>&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="keyword">volatile</span> ( \                <span class="stringliteral">"pop r0\n"</span> \                <span class="stringliteral">"pop r31\n pop r30\n pop r29\n pop r28\n pop r27\n pop r26\n pop r25\n pop r24\n"</span> \                <span class="stringliteral">"pop r23\n pop r22\n pop r21\n pop r20\n pop r19\n pop r18\n pop r17\n pop r16\n"</span> \                <span class="stringliteral">"pop r15\n pop r14\n pop r13\n pop r12\n pop r11\n pop r10\n pop  r9\n pop  r8\n"</span> \                <span class="stringliteral">"pop  r7\n pop  r6\n pop  r5\n pop  r4\n pop  r3\n pop  r2\n pop  r1\n out 0x3f, r0\n pop  r0\n"</span> ::)</pre></div><p><b>For internal use only.</b></p><p>Restore the CPU context from the stack, possibly re-enabling interrupts </p><p></div></div><p><a class="anchor" name="bedcaab91615f58a55ed4135438618e8"></a><!-- doxytag: member="task.h::save_cpu_context" ref="bedcaab91615f58a55ed4135438618e8" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define save_cpu_context          </td>          <td>(</td>&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="keyword">volatile</span>( \                <span class="stringliteral">"push  r0\n in r0, 0x3f\n cli\n"</span> \                <span class="stringliteral">"push  r1\n push  r2\n push  r3\n push  r4\n push  r5\n push  r6\n push  r7\n"</span> \                <span class="stringliteral">"push  r8\n push  r9\n push r10\n push r11\n push r12\n push r13\n push r14\n push r15\n"</span> \                <span class="stringliteral">"push r16\n push r17\n push r18\n push r19\n push r20\n push r21\n push r22\n push r23\n"</span> \                <span class="stringliteral">"push r24\n push r25\n push r26\n push r27\n push r28\n push r29\n push r30\n push r31\n"</span> \                <span class="stringliteral">"push  r0\n"</span> ::)</pre></div><p><b>For internal use only.</b></p><p>Save the CPU context to the stack, and disable interrupts </p><p></div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="6587681a992e6e80317747df4d29b46b"></a><!-- doxytag: member="task.h::switch_task" ref="6587681a992e6e80317747df4d29b46b" args="() __attribute__((naked))" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void switch_task           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p><p><b>For internal use only.</b></p><p>Perform a task switch </p><p>Note that interrupts must be disabled before we enter, and the stack pointer should be set up to use the system stack. </div></div><p><hr><h2>Variable Documentation</h2><a class="anchor" name="8e20fafa56301aad5b476cbd2c9e5b48"></a><!-- doxytag: member="task.h::system" ref="8e20fafa56301aad5b476cbd2c9e5b48" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">struct <a class="el" href="structsystem__struct.html">system_struct</a> <a class="el" href="task_8h.html#8e20fafa56301aad5b476cbd2c9e5b48">system</a>          </td>        </tr>      </table></div><div class="memdoc"><p><p><b>For internal use only.</b></p><p>The <a class="el" href="structsystem__struct.html" title="Structure used by the system to hold the system stack, and a flag indicating whether...">system_struct</a> used to hold the system stack and a flag indicating whether an ISR is currently being executed </p><p></div></div><p><hr><p align="center"><font size="-1">YAVRTOS and YAVRTOS documentation Copyright &copy; 2007-2008 Chris O'Byrne. Email - chris &lt;at&gt; obyrne &lt;dot&gt; com</font></p></body></html>

⌨️ 快捷键说明

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