?? task_8c.html
字號:
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="task_8c.html#add86cc9d9d60a1e9e90466dd09f3d3f">task_stopping_semaphore</a></td></tr><tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="task_8c.html#8e20fafa56301aad5b476cbd2c9e5b48">system</a></td></tr><tr><td class="mdescLeft"> </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> </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((taskptr)->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> </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (<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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((current) - (required) >= 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (taskptr)->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> * </td> <td class="paramname"> <em>m</em> </td> <td> ) </td> <td width="100%"></td> </tr>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -