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

📄 task_8c.html

📁 yavrtos,一款用于广泛用于AVR单片机的RTOS,文件里是这款OS的源码
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<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"><a class="el" href="structsemaphore__t.html">semaphore_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="task_8c.html#add86cc9d9d60a1e9e90466dd09f3d3f">task_stopping_semaphore</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p><b>For internal use only.</b></p><p>A semaphore we use to not return from <a class="el" href="group__task.html#ge1337adc1d63d7cd874a376d6513c04a" title="Stop a task.">stop_task()</a> until the task in question has actually stopped </p> <a href="#add86cc9d9d60a1e9e90466dd09f3d3f"></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_8c.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 system stack, and a flag indicating whether the CPU is currently processing an interrupt </p> <a href="#8e20fafa56301aad5b476cbd2c9e5b48"></a><br></td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="95d8d92f8a304e063ce50c912412181c"></a><!-- doxytag: member="task.c::executing_isr" ref="95d8d92f8a304e063ce50c912412181c" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define executing_isr          </td>          <td>(</td>&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;(system.interrupted_task)</td>        </tr>      </table></div><div class="memdoc"><p><p><b>For internal use only.</b></p><p>Are we currently executing an ISR? </p><p></div></div><p><a class="anchor" name="73254a06adc660dd59b1770c9b9f3520"></a><!-- doxytag: member="task.c::get_task_state" ref="73254a06adc660dd59b1770c9b9f3520" args="(taskptr)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define get_task_state          </td>          <td>(</td>          <td class="paramtype">taskptr&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;((taskptr)-&gt;status)</td>        </tr>      </table></div><div class="memdoc"><p><p><b>For internal use only.</b></p><p>Get the state of a task - this macro makes it easier to put other information into task.status </p><p></div></div><p><a class="anchor" name="87b5d6c508a0039ac89b09c3c71f6717"></a><!-- doxytag: member="task.c::rtos_started" ref="87b5d6c508a0039ac89b09c3c71f6717" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define rtos_started          </td>          <td>(</td>&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;(<a class="el" href="group__task.html#g4743b3673a8794b8e7bd0b6c91a63cd5">current_task</a>)</td>        </tr>      </table></div><div class="memdoc"><p><p><b>For internal use only.</b></p><p>Has the RTOS been started? </p><p></div></div><p><a class="anchor" name="7a659118f2c006c2570742f06614eace"></a><!-- doxytag: member="task.c::semaphore_triggered" ref="7a659118f2c006c2570742f06614eace" args="(current, required)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define semaphore_triggered          </td>          <td>(</td>          <td class="paramtype">current,         <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">required&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;((current) - (required) &gt;= 0)</td>        </tr>      </table></div><div class="memdoc"><p>Has a semaphore been triggered? <p>It is quite critical that this algorithm be correct, even when the semaphore values roll over </div></div><p><a class="anchor" name="ec2cb6acfd1cbdf565d79d8e46366142"></a><!-- doxytag: member="task.c::set_task_state" ref="ec2cb6acfd1cbdf565d79d8e46366142" args="(taskptr, req_state)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define set_task_state          </td>          <td>(</td>          <td class="paramtype">taskptr,         <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">req_state&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;(taskptr)-&gt;status = (req_state)</td>        </tr>      </table></div><div class="memdoc"><p><p><b>For internal use only.</b></p><p>Set the state of a task - this macro makes it easier to put other information into task.status </p><p></div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="9963b4ea6e571f04447db7fa4a826d81"></a><!-- doxytag: member="task.c::mbox_is_empty" ref="9963b4ea6e571f04447db7fa4a826d81" args="(mailbox_t *m)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int8_t mbox_is_empty           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structmailbox__t.html">mailbox_t</a> *&nbsp;</td>          <td class="paramname"> <em>m</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>

⌨️ 快捷键说明

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