<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://wiki.pic24.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.pic24.ru/feed.php">
        <title>PIC24 osa:ref:services</title>
        <description></description>
        <link>http://wiki.pic24.ru/</link>
        <image rdf:resource="http://wiki.pic24.ru/lib/images/favicon.ico" />
       <dc:date>2023-02-10T12:09:11+03:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/alphabetical?rev=1276345986"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/binary_semaphores?rev=1260573161"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/brieflist?rev=1276345955"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/counting_semaphores?rev=1260632484"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/critical_sections?rev=1260573076"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/flags?rev=1260573218"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/intro?rev=1286445281"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/mesage_queues?rev=1276345921"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/messages?rev=1272952523"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/system_services?rev=1268220980"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/tasks?rev=1277300311"/>
                <rdf:li rdf:resource="http://wiki.pic24.ru/doku.php/osa/ref/services/timers?rev=1295696994"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.pic24.ru/lib/images/favicon.ico">
        <title>PIC24</title>
        <link>http://wiki.pic24.ru/</link>
        <url>http://wiki.pic24.ru/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/alphabetical?rev=1276345986">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-12T16:33:06+03:00</dc:date>
        <title>Сервисы OSA в алфавитном порядке</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/alphabetical?rev=1276345986</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;сервисы_osa_в_алфавитном_порядке&quot; id=&quot;сервисы_osa_в_алфавитном_порядке&quot;&gt;Сервисы OSA в алфавитном порядке&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы OSA в алфавитном порядке&quot; [1-73] --&gt;
&lt;h3&gt;&lt;a name=&quot;типы&quot; id=&quot;типы&quot;&gt;Типы&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_uint8&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_UINT8&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_uint16&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_UINT16&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_uint32&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_UINT32&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_word&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_WORD&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_csem&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_CSEM&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_dtimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_DTIMER&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_flag&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_FLAG&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_flag&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_FLAG8&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_flag&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_FLAG16&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_flag&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_FLAG32&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_msg&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_MSG&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_msg_cb&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_MSG_CB&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_qtimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_QTIMER&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_queue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_QUEUE&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_smsg&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_SMSG&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_squeue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_SQUEUE&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_task_pointer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_TASK_POINTER&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Типы&quot; [74-1179] --&gt;
&lt;h3&gt;&lt;a name=&quot;b&quot; id=&quot;b&quot;&gt;- B -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_check&quot;&gt;OS_Bsem_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_check&quot;&gt;OS_Bsem_Check_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_reset&quot;&gt;OS_Bsem_Reset&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_reset&quot;&gt;OS_Bsem_Reset_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_set&quot;&gt;OS_Bsem_Set&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_set&quot;&gt;OS_Bsem_Set_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_signal&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_signal&quot;&gt;OS_Bsem_Signal&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_signal&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_signal&quot;&gt;OS_Bsem_Signal_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_switch&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_switch&quot;&gt;OS_Bsem_Switch&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_switch&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_switch&quot;&gt;OS_Bsem_Switch_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_wait&quot;&gt;OS_Bsem_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_wait_to&quot;&gt;OS_Bsem_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- B -&quot; [1180-1938] --&gt;
&lt;h3&gt;&lt;a name=&quot;c&quot; id=&quot;c&quot;&gt;- C -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_cond_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_cond_wait&quot;&gt;OS_Cond_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_cond_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_cond_wait_to&quot;&gt;OS_Cond_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_accept&quot;&gt;OS_Csem_Accept&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_accept&quot;&gt;OS_Csem_Accept_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_check&quot;&gt;OS_Csem_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_check&quot;&gt;OS_Csem_Check_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_create&quot;&gt;OS_Csem_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_reset&quot;&gt;OS_Csem_Reset&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_reset&quot;&gt;OS_Csem_Reset_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_set&quot;&gt;OS_Csem_Set&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_set&quot;&gt;OS_Csem_Set_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_setvalue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_setvalue&quot;&gt;OS_Csem_SetValue&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_setvalue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_setvalue&quot;&gt;OS_Csem_SetValue_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal&quot;&gt;OS_Csem_Signal&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal_now&quot;&gt;OS_Csem_Signal_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal_now&quot;&gt;OS_Csem_Signal_Now&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_wait&quot;&gt;OS_Csem_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_wait_to&quot;&gt;OS_Csem_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- C -&quot; [1939-3089] --&gt;
&lt;h3&gt;&lt;a name=&quot;d&quot; id=&quot;d&quot;&gt;- D -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_add&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_add&quot;&gt;OS_Dtimer_Add&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_break&quot;&gt;OS_Dtimer_Break&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_check&quot;&gt;OS_Dtimer_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_continue&quot;&gt;OS_Dtimer_Continue&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_create&quot;&gt;OS_Dtimer_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_delay&quot;&gt;OS_Dtimer_Delay&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_delete&quot;&gt;OS_Dtimer_Delete&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_get&quot;&gt;OS_Dtimer_Get&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isactive&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isactive&quot;&gt;OS_Dtimer_IsActive&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isrun&quot;&gt;OS_Dtimer_IsRun&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isstopped&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isstopped&quot;&gt;OS_Dtimer_IsStopped&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_pause&quot;&gt;OS_Dtimer_Pause&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_run&quot;&gt;OS_Dtimer_Run&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_update&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_update&quot;&gt;OS_Dtimer_Update&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_wait&quot;&gt;OS_Dtimer_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- D -&quot; [3090-4182] --&gt;
&lt;h3&gt;&lt;a name=&quot;e&quot; id=&quot;e&quot;&gt;- E -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_enterint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_enterint&quot;&gt;OS_EnterInt&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- E -&quot; [4183-4389] --&gt;
&lt;h3&gt;&lt;a name=&quot;f&quot; id=&quot;f&quot;&gt;- F -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_alloff&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_alloff&quot;&gt;OS_Flag_Check_AllOff&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_off&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_off&quot;&gt;OS_Flag_Check_Off&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_allon&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_allon&quot;&gt;OS_Flag_Check_AllOn&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_on&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_on&quot;&gt;OS_Flag_Check_On&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_alloff&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_alloff&quot;&gt;OS_Flag_Check_AllOff_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_off&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_off&quot;&gt;OS_Flag_Check_Off_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_allon&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_allon&quot;&gt;OS_Flag_Check_AllOn_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_on&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_on&quot;&gt;OS_Flag_Check_On_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_create&quot;&gt;OS_Flag_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_init&quot;&gt;OS_Flag_Init_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_clear&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_clear&quot;&gt;OS_Flag_Clear_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_set&quot;&gt;OS_Flag_Set_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_alloff&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_alloff&quot;&gt;OS_Flag_Wait_AllOff&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_alloff_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_alloff_to&quot;&gt;OS_Flag_Wait_AllOff_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_off&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_off&quot;&gt;OS_Flag_Wait_Off&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_off_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_off_to&quot;&gt;OS_Flag_Wait_Off_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_allon&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_allon&quot;&gt;OS_Flag_Wait_AllOn&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_allon_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_allon_to&quot;&gt;OS_Flag_Wait_AllOn_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_on&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_on&quot;&gt;OS_Flag_Wait_On&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_on_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_on_to&quot;&gt;OS_Flag_Wait_On_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- F -&quot; [4390-5795] --&gt;
&lt;h3&gt;&lt;a name=&quot;i&quot; id=&quot;i&quot;&gt;- I -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_init&quot;&gt;OS_Init&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iserror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iserror&quot;&gt;OS_IsError&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iseventerror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iseventerror&quot;&gt;OS_IsEventError&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_isincriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_isincriticalsection&quot;&gt;OS_IsInCriticalSection&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_istimeout&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_istimeout&quot;&gt;OS_IsTimeout&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- I -&quot; [5796-6124] --&gt;
&lt;h3&gt;&lt;a name=&quot;l&quot; id=&quot;l&quot;&gt;- L -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leavecriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leavecriticalsection&quot;&gt;OS_LeaveCriticalSection&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leaveint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leaveint&quot;&gt;OS_LeaveInt&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- L -&quot; [6125-6287] --&gt;
&lt;h3&gt;&lt;a name=&quot;m&quot; id=&quot;m&quot;&gt;- M -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_accept&quot;&gt;OS_Msg_Accept&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_accept&quot;&gt;OS_Msg_Accept_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_check&quot;&gt;OS_Msg_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_check&quot;&gt;OS_Msg_Check_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_create&quot;&gt;OS_Msg_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_now&quot;&gt;OS_Msg_Send_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_now&quot;&gt;OS_Msg_Send_Now&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_to&quot;&gt;OS_Msg_Send_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait&quot;&gt;OS_Msg_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait_to&quot;&gt;OS_Msg_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- M -&quot; [6288-6976] --&gt;
&lt;h3&gt;&lt;a name=&quot;o&quot; id=&quot;o&quot;&gt;- O -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_check&quot;&gt;OS_Oldtimer_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run16&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run16&quot;&gt;OS_Oldtimer_Run16&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run24&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run24&quot;&gt;OS_Oldtimer_Run24&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run32&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run32&quot;&gt;OS_Oldtimer_Run32&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run8&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run8&quot;&gt;OS_Oldtimer_Run8&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_stop&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_stop&quot;&gt;OS_Oldtimer_Stop&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_wait&quot;&gt;OS_Oldtimer_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- O -&quot; [6977-7473] --&gt;
&lt;h3&gt;&lt;a name=&quot;q&quot; id=&quot;q&quot;&gt;- Q -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_break&quot;&gt;OS_Qtimer_Break&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_check&quot;&gt;OS_Qtimer_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_create&quot;&gt;OS_Qtimer_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_delay&quot;&gt;OS_Qtimer_Delay&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_delete&quot;&gt;OS_Qtimer_Delete&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_get&quot;&gt;OS_Qtimer_Get&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_isrun&quot;&gt;OS_Qtimer_IsRun&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_run&quot;&gt;OS_Qtimer_Run&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_wait&quot;&gt;OS_Qtimer_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_check&quot;&gt;OS_Queue_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_check&quot;&gt;OS_Queue_Check_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_create&quot;&gt;OS_Queue_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_isfull&quot;&gt;OS_Queue_IsFull&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_isfull&quot;&gt;OS_Queue_IsFull_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send&quot;&gt;OS_Queue_Send&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_now&quot;&gt;OS_Queue_Send_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_now&quot;&gt;OS_Queue_Send_Now&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_to&quot;&gt;OS_Queue_Send_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait&quot;&gt;OS_Queue_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait_to&quot;&gt;OS_Queue_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- Q -&quot; [7474-8776] --&gt;
&lt;h3&gt;&lt;a name=&quot;r&quot; id=&quot;r&quot;&gt;- R -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ri&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ri&quot;&gt;OS_RI&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_run&quot;&gt;OS_Run&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- R -&quot; [8777-8893] --&gt;
&lt;h3&gt;&lt;a name=&quot;s&quot; id=&quot;s&quot;&gt;- S -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_accept&quot;&gt;OS_Smsg_Accept&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_accept&quot;&gt;OS_Smsg_Accept_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_check&quot;&gt;OS_Smsg_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_check&quot;&gt;OS_Smsg_Check_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_create&quot;&gt;OS_Smsg_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send&quot;&gt;OS_Smsg_Send&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_now&quot;&gt;OS_Smsg_Send_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_now&quot;&gt;OS_Smsg_Send_Now&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_to&quot;&gt;OS_Smsg_Send_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait&quot;&gt;OS_Smsg_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait_to&quot;&gt;OS_Smsg_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_check&quot;&gt;OS_Squeue_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_check&quot;&gt;OS_Squeue_Check_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_create&quot;&gt;OS_Squeue_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_isfull&quot;&gt;OS_Squeue_IsFull&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_isfull&quot;&gt;OS_Squeue_IsFull_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send&quot;&gt;OS_Squeue_Send&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_now&quot;&gt;OS_Squeue_Send_I&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_now&quot;&gt;OS_Squeue_Send_Now&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_to&quot;&gt;OS_Squeue_Send_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait&quot;&gt;OS_Squeue_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait_to&quot;&gt;OS_Squeue_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_sched&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_sched&quot;&gt;OS_Sched&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_alloc&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_alloc&quot;&gt;OS_Stimer_Alloc&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_break&quot;&gt;OS_Stimer_Break&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_check&quot;&gt;OS_Stimer_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_continue&quot;&gt;OS_Stimer_Continue&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_delay&quot;&gt;OS_Stimer_Delay&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_free&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_free&quot;&gt;OS_Stimer_Free&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_found&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_found&quot;&gt;OS_Stimer_Found&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_get&quot;&gt;OS_Stimer_Get&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_isrun&quot;&gt;OS_Stimer_IsRun&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_pause&quot;&gt;OS_Stimer_Pause&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_run&quot;&gt;OS_Stimer_Run&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_wait&quot;&gt;OS_Stimer_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- S -&quot; [8894-11144] --&gt;
&lt;h3&gt;&lt;a name=&quot;t&quot; id=&quot;t&quot;&gt;- T -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_continue&quot;&gt;OS_Task_Continue&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_create&quot;&gt;OS_Task_Create&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_define&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_define&quot;&gt;OS_Task_Define&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_delete&quot;&gt;OS_Task_Delete&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcreated&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcreated&quot;&gt;OS_Task_GetCreated&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcur&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcur&quot;&gt;OS_Task_GetCur&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getpriority&quot;&gt;OS_Task_GetPriority&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_isenable&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_isenable&quot;&gt;OS_Task_IsEnable&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_ispaused&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_ispaused&quot;&gt;OS_Task_IsPaused&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_pause&quot;&gt;OS_Task_Pause&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_replace&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_replace&quot;&gt;OS_Task_Replace&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_setpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_setpriority&quot;&gt;OS_Task_SetPriority&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_stop&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_stop&quot;&gt;OS_Task_Stop&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_break&quot;&gt;OS_Ttimer_Break&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_check&quot;&gt;OS_Ttimer_Check&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_continue&quot;&gt;OS_Ttimer_Continue&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_delay&quot;&gt;OS_Ttimer_Delay&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_get&quot;&gt;OS_Ttimer_Get&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_isrun&quot;&gt;OS_Ttimer_IsRun&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_pause&quot;&gt;OS_Ttimer_Pause&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_run&quot;&gt;OS_Ttimer_Run&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_wait&quot;&gt;OS_Ttimer_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- T -&quot; [11145-12635] --&gt;
&lt;h3&gt;&lt;a name=&quot;w&quot; id=&quot;w&quot;&gt;- W -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait&quot;&gt;OS_Wait&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait_to&quot;&gt;OS_Wait_TO&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- W -&quot; [12636-12755] --&gt;
&lt;h3&gt;&lt;a name=&quot;y&quot; id=&quot;y&quot;&gt;- Y -&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_yield&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_yield&quot;&gt;OS_Yield&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;- Y -&quot; [12756-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/binary_semaphores?rev=1260573161">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-12T02:12:41+03:00</dc:date>
        <title>OSA : Бинарные семафоры</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/binary_semaphores?rev=1260573161</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_бинарные_семафоры&quot; id=&quot;osa_бинарные_семафоры&quot;&gt;OSA : Бинарные семафоры&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Бинарные семафоры&quot; [1-55] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Бинарные семафоры - системные переменные, способные принимать значения &amp;quot;0&amp;quot; и &amp;quot;1&amp;quot;. Это самый простой способ обмена информацией между задачами, а также для синхронизации между ними. Для экономии RAM в OSA все бинарные семафоры являются битовыми полями в переменных, создаваемых самой системой. Программист должен только указать, сколько памяти выделить под бинарные семафоры, задав в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; константу &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_BSEMS&lt;/a&gt;. Поэтому память под бинарные семафоры резервируется на этапе компиляции и их нельзя создавать или удалять в ходе работы программы.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [56-1138] --&gt;
&lt;h2&gt;&lt;a name=&quot;идентификация&quot; id=&quot;идентификация&quot;&gt;Идентификация&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
При обращении к системным сервисам, управляющим бинарными семафорами, нужно указывать номер используемого семафора от 0 до (&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_BSEMS&lt;/a&gt;&lt;/span&gt;-1), т.е. его идентификатор. Идентефикаторы семафорам удобно присваивать в виде enum, тогда есть гарантия, что они не будут пересекаться:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;enum&lt;/span&gt; OSA_BINSEMS_ENUM
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    BS_BUTTON_PRESSED,
    BS_USART_FREE,
    BS_WRITE_COMPLETE,
    . . .
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;/pre&gt;
&lt;p&gt;

Такой подход не очень удобен, особенно, если предполагается использование отдельно написанных модулей, но является очень экономным к ресурсам ПИКа (и ROM, и RAM, и скорость): на 8 бинарных семафоров требуется всего один байт ОЗУ. Если же требуются независимые семафоры, то можно использовать &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/services/counting_semaphores&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:services:counting_semaphores&quot;&gt;счетные семафоры&lt;/a&gt; с сервисом установки семафора &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_set&quot;&gt;OS_Csem_Set&lt;/a&gt;&lt;/span&gt;.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Идентификация&quot; [1139-2531] --&gt;
&lt;h2&gt;&lt;a name=&quot;работа_с_бинарными_семафорами&quot; id=&quot;работа_с_бинарными_семафорами&quot;&gt;Работа с бинарными семафорами&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
После начальной инициализации сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_init&quot;&gt;OS_Init&lt;/a&gt;&lt;/span&gt; все бинарные семафры сброшены. Задача, которая ожидает бинарный семафор, будет поставлена в состояние ожидания до тех пор, пока семафор не будет установлен. Как только он установится, задача переходит в состояние готовности и при получении управления сбрасывает семафор.
&lt;/p&gt;

&lt;p&gt;
Ниже приведен небольшой пример использования бинарного семафора для разделения доступа к общему ресурсу - внешенй EEPROM:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;osa.h&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;enum&lt;/span&gt; OSA_BINSEMS_ENUM &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    BS_EEPROM_FREE
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task1 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        ...
        &lt;span class=&quot;me1&quot;&gt;OS_Bsem_Wait&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_EEPROM_FREE&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;     &lt;span class=&quot;co1&quot;&gt;// Ждем, когда остальные задачи отпустят eeprom&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;// Когда попадаем сюда, eeprom свободен, а семафор сброшен, что не позволит другим&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// задачам начать работу с eeprom&lt;/span&gt;
        eeprom_read&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        eeprom_read&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Bsem_Set&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_EEPROM_FREE&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;      &lt;span class=&quot;co1&quot;&gt;// После выполнения операций с EEPROM освобождаем ресурс&lt;/span&gt;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task2 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        ...
        &lt;span class=&quot;me1&quot;&gt;OS_Bsem_Wait&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_EEPROM_FREE&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;     &lt;span class=&quot;co1&quot;&gt;// Ждем, когда остальные задачи отпустят eeprom&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;// Когда попадаем сюда, eeprom свободен, а семафор сброшен, что не позволит другим&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// задачам начать работу с eeprom&lt;/span&gt;
        eeprom_write&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Delay&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;                     &lt;span class=&quot;co1&quot;&gt;// Ждем окончания записи. При ожидании задержки&lt;/span&gt;
                                         &lt;span class=&quot;co1&quot;&gt;// управление передается планировщику, который может&lt;/span&gt;
                                         &lt;span class=&quot;co1&quot;&gt;// в свою очередь передать управление задаче Task1. И чтобы&lt;/span&gt;
                                         &lt;span class=&quot;co1&quot;&gt;// Task1 не полезла в EEPROM, ресурс заблокирован бинарынм&lt;/span&gt;
                                         &lt;span class=&quot;co1&quot;&gt;// семафором&lt;/span&gt;
        eeprom_write&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Delay&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Bsem_Set&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_EEPROM_FREE&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;      &lt;span class=&quot;co1&quot;&gt;// После выполнения операций с EEPROM освобождаем ресурс&lt;/span&gt;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Работа с бинарными семафорами&quot; [2532-5348] --&gt;
&lt;h2&gt;&lt;a name=&quot;размещение_в_памяти&quot; id=&quot;размещение_в_памяти&quot;&gt;Размещение в памяти&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для PIC16 программист может выбрать, в каком банке RAM будут храниться бинарные семафоры. Для этого есть константа &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_BANK_BSEMS&lt;/a&gt;, которая может принимать значения от 0 до 3. Все бинарные семафоры размещаются в одном банке; нельзя половину опрелелить,например, в bank0, а оставшиеся - в bank2. В памяти бинарные семафоры представлены как массив unsigned char, поэтому эта структура неделима.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Размещение в памяти&quot; [5349-6110] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_для_работы_с_двоичными_семафорами&quot; id=&quot;сервисы_для_работы_с_двоичными_семафорами&quot;&gt;Сервисы для работы с двоичными семафорами.&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_set&quot;&gt;OS_Bsem_Set&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливает семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_reset&quot;&gt;OS_Bsem_Reset&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Сбрасывает семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_switch&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_switch&quot;&gt;OS_Bsem_Switch&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Переключает семафор в противоположное состояние  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_check&quot;&gt;OS_Bsem_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Смотрим, установлен ли конкретный семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_wait&quot;&gt;OS_Bsem_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установку семафора.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_wait_to&quot;&gt;OS_Bsem_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установку семафора с таймаутом.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abinary_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы для работы с двоичными семафорами.&quot; [6111-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/brieflist?rev=1276345955">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-12T16:32:35+03:00</dc:date>
        <title>CЕРВИСЫ OSA (ПАМЯТКА)</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/brieflist?rev=1276345955</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;cервисы_osa_памятка&quot; id=&quot;cервисы_osa_памятка&quot;&gt;CЕРВИСЫ OSA (ПАМЯТКА)&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/services/alphabetical&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:services:alphabetical&quot;&gt;Алфавитный указатель&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Ниже приведен полный перечень сервисов OSA. В правой графе стоят пиктограммы, отображающие свойства сервисов:
&lt;/p&gt;
&lt;table class = &quot;&quot;&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Использует системный таймер		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Нельзя вызывать из прерывания		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Разрешен вызов только в контексте задачи		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Переключает контекст		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Разрешен вызов только в прерывании		&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;		&lt;/td&gt;
		&lt;td&gt;
Есть расширенный сервис с суффиксом _I для работы в прерывании		&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;CЕРВИСЫ OSA (ПАМЯТКА)&quot; [1-1166] --&gt;
&lt;h2&gt;&lt;a name=&quot;системные_сервисы&quot; id=&quot;системные_сервисы&quot;&gt;Системные сервисы&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы   &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Системные&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_sched&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_sched&quot;&gt;OS_Sched&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Основная работа операционки, вызывается в главном цикле  функции main()  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_run&quot;&gt;OS_Run&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запускает ядро операционки в работу.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;strong&gt;main()&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_init&quot;&gt;OS_Init&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Инициализация переменных системы.   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Обработка всех таймеров   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_yield&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_yield&quot;&gt;OS_Yield&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Передача управления планировщику  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(delaytime)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выдерживаем паузу внутри задачи  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait&quot;&gt;OS_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(condition)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем выполнения условия  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait_to&quot;&gt;OS_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(condition, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем выполнения условия с таймаутом  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;использует системный таймер&quot; alt=&quot;использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка состояния&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_istimeout&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_istimeout&quot;&gt;OS_IsTimeout&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка, вышли ли из ожидания по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iserror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iserror&quot;&gt;OS_IsError&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка, была ли ошибка  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iseventerror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iseventerror&quot;&gt;OS_IsEventError&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка, была ли ошибка события  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_isincriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_isincriticalsection&quot;&gt;OS_IsInCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Возвращает 1, если одна из задач находится в критической секции.  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Прерывания&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_enterint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_enterint&quot;&gt;OS_EnterInt&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Должна выполняться при входе в прерывание (сохраняет FSR)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в прерывании&quot; alt=&quot;Разрешен вызов только в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leaveint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leaveint&quot;&gt;OS_LeaveInt&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Должна выполняться перед выходом из прерывания (восстанавливает FSR)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в прерывании&quot; alt=&quot;Разрешен вызов только в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;char &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запретить прерывания. Текущие значения GIEx сохраняются  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Разрешить прерывания  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ri&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ri&quot;&gt;OS_RI&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(char)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Восстановить сохраненные в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;() значения GIEx.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Вход в критическую секцию  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leavecriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leavecriticalsection&quot;&gt;OS_LeaveCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выход из критической секции  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Системные сервисы&quot; [1167-6175] --&gt;
&lt;h2&gt;&lt;a name=&quot;управление_задачами&quot; id=&quot;управление_задачами&quot;&gt;Управление задачами&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы   &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание/удаление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_define&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_define&quot;&gt;OS_Task_Define&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(TaskName)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; &lt;strong&gt;Для CCS&lt;/strong&gt;: сообщает компилятору, что функция вызывается по указателю.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;strong&gt;main()&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_create&quot;&gt;OS_Task_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(priority, TaskName)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Инициализируем конкретную задачу.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_replace&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_replace&quot;&gt;OS_Task_Replace&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(priority, TaskName)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Заменить текущую задачу на новую.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_delete&quot;&gt;OS_Task_Delete&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Удалить задачу  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление состоянием&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_task_pointer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_TASK_POINTER&lt;/a&gt;&lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcur&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcur&quot;&gt;OS_Task_GetCur&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить указатель на дескриптор текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_task_pointer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_TASK_POINTER&lt;/a&gt;&lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcreated&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcreated&quot;&gt;OS_Task_GetCreated&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить указатель на дескриптор только что созданной задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_pause&quot;&gt;OS_Task_Pause&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Приостановить задачу  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_continue&quot;&gt;OS_Task_Continue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Продолжить выполнение ранее приостановленной задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;char &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getpriority&quot;&gt;OS_Task_GetPriority&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Возвращает приоритет текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_setpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_setpriority&quot;&gt;OS_Task_SetPriority&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp, priority)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Изменить приоритет текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_ispaused&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_ispaused&quot;&gt;OS_Task_IsPaused&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, приостановлена ли задача  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Управление задачами&quot; [6176-8837] --&gt;
&lt;h2&gt;&lt;a name=&quot;двоичные_семафоры&quot; id=&quot;двоичные_семафоры&quot;&gt;Двоичные семафоры&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_set&quot;&gt;OS_Bsem_Set&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливает семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_reset&quot;&gt;OS_Bsem_Reset&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Сбрасывает семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_switch&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_switch&quot;&gt;OS_Bsem_Switch&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Переключает семафор в противоположное состояние  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_word&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_WORD&lt;/a&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_check&quot;&gt;OS_Bsem_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Смотрим, установлен ли конкретный семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_wait&quot;&gt;OS_Bsem_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установку семафора.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_bsem_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_bsem_wait_to&quot;&gt;OS_Bsem_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(bsem, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установку семафора с таймаутом.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Двоичные семафоры&quot; [8838-11028] --&gt;
&lt;h2&gt;&lt;a name=&quot;счетные_семафоры&quot; id=&quot;счетные_семафоры&quot;&gt;Счетные семафоры&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_create&quot;&gt;OS_Csem_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Подготавливает счетный семафор к работе (обнуляет его)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal&quot;&gt;OS_Csem_Signal&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Увеличивает значение семафора на 1 (с ожиданием при переполнении)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal_now&quot;&gt;OS_Csem_Signal_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Увеличивает значение семафора на 1 (без ожидания при переполнении).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_set&quot;&gt;OS_Csem_Set&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливаем счетный семафор в 1.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_setvalue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_setvalue&quot;&gt;OS_Csem_SetValue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem, value)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливаем счетный семафор в конкретное значение &lt;em&gt;value&lt;/em&gt;.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_reset&quot;&gt;OS_Csem_Reset&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Обнуляем счетный семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_accept&quot;&gt;OS_Csem_Accept&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Принимаем счетный семафор (уменьшаем его на 1).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_check&quot;&gt;OS_Csem_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Смотрим, установлен ли семафор (д.б. != 0)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_wait&quot;&gt;OS_Csem_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки семафора в ненулевое значение. Уменьшает значение семафора на 1.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_wait_to&quot;&gt;OS_Csem_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки семафора с таймаутом.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Счетные семафоры&quot; [11029-14700] --&gt;
&lt;h2&gt;&lt;a name=&quot;сообщения&quot; id=&quot;сообщения&quot;&gt;Сообщения&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_create&quot;&gt;OS_Msg_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создает сообщение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение &lt;em&gt;msg_cb&lt;/em&gt; (тип &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_msg_cb&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_MSG_CB&lt;/a&gt;&lt;/span&gt;) с ожиданием освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_to&quot;&gt;OS_Msg_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, message, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt; с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_now&quot;&gt;OS_Msg_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение &lt;em&gt;msg_cb&lt;/em&gt; без ожидания освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_check&quot;&gt;OS_Msg_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, активно ли сообщение (присутствует ли оно).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_accept&quot;&gt;OS_Msg_Accept&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, os_msg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Принять существующее сообщение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait&quot;&gt;OS_Msg_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, os_msg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сообщение msg_cb.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait_to&quot;&gt;OS_Msg_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, os_msg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait&quot;&gt;OS_Msg_Wait&lt;/a&gt;&lt;/span&gt;, с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сообщения&quot; [14701-17868] --&gt;
&lt;h2&gt;&lt;a name=&quot;короткие_сообщения&quot; id=&quot;короткие_сообщения&quot;&gt;Короткие сообщения&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_create&quot;&gt;OS_Smsg_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создает короткое сообщение (фактически - просто обнуляет его)  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send&quot;&gt;OS_Smsg_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение &lt;em&gt;smsg&lt;/em&gt; с содержимым &lt;em&gt;smessage&lt;/em&gt; с ожиданием освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_to&quot;&gt;OS_Smsg_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, smessage, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send&quot;&gt;OS_Smsg_Send&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_now&quot;&gt;OS_Smsg_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем короткое сообщение &lt;em&gt;smsg&lt;/em&gt; с содержимым &lt;em&gt;smessage&lt;/em&gt; без ожидания освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_check&quot;&gt;OS_Smsg_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, активно ли сообщение (присутствует ли оно).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_accept&quot;&gt;OS_Smsg_Accept&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, os_smsg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Принять существующее сообщение  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait&quot;&gt;OS_Smsg_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, os_smsg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем короткое сообщение &lt;em&gt;smsg&lt;/em&gt;.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait_to&quot;&gt;OS_Smsg_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, os_smsg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait&quot;&gt;OS_Smsg_Wait&lt;/a&gt;&lt;/span&gt;, с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Короткие сообщения&quot; [17869-21094] --&gt;
&lt;h2&gt;&lt;a name=&quot;очередь_сообщений&quot; id=&quot;очередь_сообщений&quot;&gt;Очередь сообщений&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_create&quot;&gt;OS_Queue_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, buffer, size)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создаем очередь сообщений queue, указывая буфер и его размер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send&quot;&gt;OS_Queue_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым message в очередь queue с ожиданием свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_to&quot;&gt;OS_Queue_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, message, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send&quot;&gt;OS_Queue_Send&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_now&quot;&gt;OS_Queue_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым message в очередь queue без ожидания свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_check&quot;&gt;OS_Queue_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли сообщение в очереди.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_isfull&quot;&gt;OS_Queue_IsFull&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка переполненности буфера  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait&quot;&gt;OS_Queue_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, os_msg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сообщение из очереди queue  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait_to&quot;&gt;OS_Queue_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, os_msg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait&quot;&gt;OS_Queue_Wait&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Очередь сообщений&quot; [21095-24428] --&gt;
&lt;h2&gt;&lt;a name=&quot;очередь_коротких_сообщений&quot; id=&quot;очередь_коротких_сообщений&quot;&gt;Очередь коротких сообщений&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_create&quot;&gt;OS_Squeue_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, buffer, size)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создаем очередь коротких сообщений squeue, указывая буфер и его размер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send&quot;&gt;OS_Squeue_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым smessage в очередь squeue с ожиданием свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_to&quot;&gt;OS_Squeue_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, smessage, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send&quot;&gt;OS_Squeue_Send&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_now&quot;&gt;OS_Squeue_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым smessage в очередь squeue без ожидания свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_check&quot;&gt;OS_Squeue_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли сообщение в очереди.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_isfull&quot;&gt;OS_Squeue_IsFull&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка переполненности буфера. Возвращает true, если в очереди нет места.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait&quot;&gt;OS_Squeue_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, os_smsg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сообщение из очереди squeue  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait_to&quot;&gt;OS_Squeue_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, os_smsg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait&quot;&gt;OS_Squeue_Wait&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Очередь коротких сообщений&quot; [24429-27909] --&gt;
&lt;h2&gt;&lt;a name=&quot;флаги&quot; id=&quot;флаги&quot;&gt;Флаги&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_create&quot;&gt;OS_Flag_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создает флаги (фактически просто сбрасывает все флаги)  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_init&quot;&gt;OS_Flag_Init&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, value)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливает все флаги в заданное значение  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_set&quot;&gt;OS_Flag_Set&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Установка флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_clear&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_clear&quot;&gt;OS_Flag_Clear&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Сброс флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_allon&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_allon&quot;&gt;OS_Flag_Check_AllOn&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, все ли флаги по маске установлены  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_on&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_on&quot;&gt;OS_Flag_Check_On&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли хотя бы один установленный флаг по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_alloff&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_alloff&quot;&gt;OS_Flag_Check_AllOff&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, все ли флаги по маске сброшены  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_off&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_check_off&quot;&gt;OS_Flag_Check_Off&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли хотя бы один сброшенный флаг по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_allon&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_allon&quot;&gt;OS_Flag_Wait_AllOn&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки всех флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_on&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_on&quot;&gt;OS_Flag_Wait_On&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки хотя бы одного флага из маски  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_alloff&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_alloff&quot;&gt;OS_Flag_Wait_AllOff&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса всех флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_off&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_off&quot;&gt;OS_Flag_Wait_Off&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса хотя бы одного флага из маски  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_allon_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_allon_to&quot;&gt;OS_Flag_Wait_AllOn_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки всех флагов по маске с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_on_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_on_to&quot;&gt;OS_Flag_Wait_On_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки хотя бы одного флага из маски с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_alloff_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_alloff_to&quot;&gt;OS_Flag_Wait_AllOff_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса всех флагов по маске с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_off_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_wait_off_to&quot;&gt;OS_Flag_Wait_Off_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса хотя бы одного флага из маски с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Флаги&quot; [27910-33984] --&gt;
&lt;h2&gt;&lt;a name=&quot;таймеры&quot; id=&quot;таймеры&quot;&gt;Таймеры&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Таймеры&quot; [33985-34013] --&gt;
&lt;h3&gt;&lt;a name=&quot;таймеры_задач&quot; id=&quot;таймеры_задач&quot;&gt;Таймеры задач&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_run&quot;&gt;OS_Ttimer_Run&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить таймер текущей задачи на отсчет времени time. Флаг переполнения сбрасывается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_break&quot;&gt;OS_Ttimer_Break&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер. Флаг переполнения устанавливается   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_wait&quot;&gt;OS_Ttimer_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем завершения счета таймера текущей задачи.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_delay&quot;&gt;OS_Ttimer_Delay&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(delay)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; (то же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;) Выдержать задержку с применением таймера текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_ttimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;_OST_TTIMER&lt;/a&gt; &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_get&quot;&gt;OS_Ttimer_Get&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить оставшееся время счета (необходимо запрещать прерывания или приостанавливать счет)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_check&quot;&gt;OS_Ttimer_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, закончил ли таймер текущей задачи счет.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_isrun&quot;&gt;OS_Ttimer_IsRun&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, считает ли таймер текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Дополнительно&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_pause&quot;&gt;OS_Ttimer_Pause&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер текущей задачи. Флаг переполнения утсанавливается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_continue&quot;&gt;OS_Ttimer_Continue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Восстанавливаем счет таймера.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task_plus.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task_plus.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task_plus.png&quot; class=&quot;media&quot; title=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; alt=&quot;Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Таймеры задач&quot; [34014-38492] --&gt;
&lt;h3&gt;&lt;a name=&quot;статические_таймеры&quot; id=&quot;статические_таймеры&quot;&gt;Статические таймеры&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание/удаление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_alloc&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_alloc&quot;&gt;OS_Stimer_Alloc&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(var_stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выделяет не занятый на данный момент времени таймер и возвращает его номер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_free&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_free&quot;&gt;OS_Stimer_Free&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Помечает таймер как свободный  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_found&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_found&quot;&gt;OS_Stimer_Found&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;()&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверяет, есть ли свободный статический таймер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_run&quot;&gt;OS_Stimer_Run&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить таймер stimer_id на отсчет времени time. Флаг переполнения сбрасывается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_break&quot;&gt;OS_Stimer_Break&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер. Флаг переполнения устанавливается   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_wait&quot;&gt;OS_Stimer_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем завершения счета таймера.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_delay&quot;&gt;OS_Stimer_Delay&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id, delay)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выдержать задержку с применением статического таймера stimer_id  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_stimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;_OST_STIMER&lt;/a&gt; &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_get&quot;&gt;OS_Stimer_Get&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить оставшееся время счета (необходимо запрещать прерывания)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_check&quot;&gt;OS_Stimer_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, было ли переполнение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_isrun&quot;&gt;OS_Stimer_IsRun&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, считает ли таймер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;3&quot;&gt; &lt;strong&gt;Дополнительно&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_pause&quot;&gt;OS_Stimer_Pause&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер. Флаг переполнения утсанавливается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_continue&quot;&gt;OS_Stimer_Continue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(stimer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Восстанавливаем счет таймера.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Статические таймеры&quot; [38493-42740] --&gt;
&lt;h3&gt;&lt;a name=&quot;очередь_таймеров&quot; id=&quot;очередь_таймеров&quot;&gt;Очередь таймеров&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание/Удаление&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_create&quot;&gt;OS_Qtimer_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Добавляет qtimer в очередь активных таймеров. После создания таймер обнулен остановлен, флаг переполнения сброшен.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_delete&quot;&gt;OS_Qtimer_Delete&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Удаляет qtimer из очереди активных таймеров.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_run&quot;&gt;OS_Qtimer_Run&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить qtimer на отсчет времени time с момента вызова этого сервиса. Флаг переполнения сбрасывается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_break&quot;&gt;OS_Qtimer_Break&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер. Флаг переполнения устанавливается   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_wait&quot;&gt;OS_Qtimer_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем завершения счета таймера.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_delay&quot;&gt;OS_Qtimer_Delay&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выдержать задержку с использованием таймера qtimer  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_qtimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;_OST_QTIMER&lt;/a&gt; &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_get&quot;&gt;OS_Qtimer_Get&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить оставшееся время счета  (необходимо запрещать прерывания)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_check&quot;&gt;OS_Qtimer_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, было ли переполнение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_isrun&quot;&gt;OS_Qtimer_IsRun&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(qtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, считает ли таймер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Очередь таймеров&quot; [42741-46109] --&gt;
&lt;h2&gt;&lt;a name=&quot;таймеры_устаревшие&quot; id=&quot;таймеры_устаревшие&quot;&gt;Таймеры (устаревшие)&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Таймеры (устаревшие)&quot; [46110-46160] --&gt;
&lt;h3&gt;&lt;a name=&quot;динамические_таймеры&quot; id=&quot;динамические_таймеры&quot;&gt;Динамические таймеры&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание/Удаление&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_create&quot;&gt;OS_Dtimer_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Добавляет dtimer в очередь активных таймеров. После создания таймер обнулен остановлен, флаг переполнения сброшен.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_delete&quot;&gt;OS_Dtimer_Delete&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Удаляет dtimer из очереди активных таймеров.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_run&quot;&gt;OS_Dtimer_Run&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer, newtime)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить dtimer на отсчет времени newtime с момента вызова этого сервиса. Флаг переполнения сбрасывается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_break&quot;&gt;OS_Dtimer_Break&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер. Он остается активным, но не увеличивается при выполнении &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;(). Флаг переполнения устанавливается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_wait&quot;&gt;OS_Dtimer_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем завершения счета таймера.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_delay&quot;&gt;OS_Dtimer_Delay&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer, delay)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выдержать задержку с использованием динамического таймера dtimer  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_dtimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;_OST_DTIMER&lt;/a&gt; &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_get&quot;&gt;OS_Dtimer_Get&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить оставшееся время счета  (необходимо запрещать прерывания)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_check&quot;&gt;OS_Dtimer_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, было ли переполнение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isrun&quot;&gt;OS_Dtimer_IsRun&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, считает ли таймер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Дополнительно&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_pause&quot;&gt;OS_Dtimer_Pause&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер. Он остается активным, но не увеличивается при выполнении &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;(). Флаг переполнения остается без изменений.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_continue&quot;&gt;OS_Dtimer_Continue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Восстанавливаем счет таймера.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_update&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_update&quot;&gt;OS_Dtimer_Update&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить таймер на отсчет времени time с момента последнего переполнения. Флаг переполнения сбрасывается.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_add&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_add&quot;&gt;OS_Dtimer_Add&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer, addtime)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Добавить время к таймеру во время счета. Флаг переполнения остается без изменений.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isactive&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isactive&quot;&gt;OS_Dtimer_IsActive&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли таймер в списке активных таймеров.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isstopped&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isstopped&quot;&gt;OS_Dtimer_IsStopped&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(dtimer)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, остановлен ли таймер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Динамические таймеры&quot; [46161-51675] --&gt;
&lt;h3&gt;&lt;a name=&quot;статические_таймеры_старого_типа&quot; id=&quot;статические_таймеры_старого_типа&quot;&gt;Статические таймеры старого типа&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run8&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run8&quot;&gt;OS_Oldtimer_Run8&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer8_id, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить 8-разрядный таймер для отсчета  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run16&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run16&quot;&gt;OS_Oldtimer_Run16&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer16_id, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить 16-разрядный таймер для отсчета  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run24&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run24&quot;&gt;OS_Oldtimer_Run24&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer24_id, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить 24-разрядный таймер для отсчета  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_run32&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_run32&quot;&gt;OS_Oldtimer_Run32&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer32_id, time)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запустить 32-разрядный таймер для отсчета  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_stop&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_stop&quot;&gt;OS_Oldtimer_Stop&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Останавливаем таймер (при этом устанавливается флаг Timeout для этого таймера)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_check&quot;&gt;OS_Oldtimer_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, закончил ли таймер счет.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_oldtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_oldtimer_wait&quot;&gt;OS_Oldtimer_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(timer_id)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем завершения счета таймера  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Abrieflist&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Статические таймеры старого типа&quot; [51676-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/counting_semaphores?rev=1260632484">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-12T18:41:24+03:00</dc:date>
        <title>OSA : Счетные семафоры</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/counting_semaphores?rev=1260632484</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_счетные_семафоры&quot; id=&quot;osa_счетные_семафоры&quot;&gt;OSA : Счетные семафоры&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Счетные семафоры&quot; [1-53] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Счетные семафоры - переменные типа &lt;em&gt;unsigned char&lt;/em&gt;, &lt;em&gt;unsigned int&lt;/em&gt; или &lt;em&gt;unsigned long&lt;/em&gt; (в зависимости от установки константы &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_CSEM_SIZE&lt;/a&gt; в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt;). Для того чтобы использовать счетные семафоры, в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; нужно определить константу &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_CSEM&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
В программе счетный семафор определяется как переменная:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_CSEM  mycsem;&lt;/pre&gt;
&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Для HT-PICC16 счетные семафоры можно размещать только в банках bank0 и bank1.

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
Функционально счетные семафоры отличаются от &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/services/binary_semaphores&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:services:binary_semaphores&quot;&gt;бинарных&lt;/a&gt; тем, что могут принимать любое значение в диапазоне от 0 до максимального значения, допустимого типом семафора (255, 65535, 4294967295).
&lt;/p&gt;

&lt;p&gt;
Перед работой со счетным семафором, его необходимо создать сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_create&quot;&gt;OS_Csem_Create&lt;/a&gt;&lt;/span&gt;. После создания семафор имеет нулевое значение. Задача, ожидающая семафор, будет находиться в режиме ожидания до тех пор, пока семафор не станет ненулевым. Как только задача дождется этого события, она переходит в состояние готовности и при получении управления вычитает из семафора 1.
&lt;/p&gt;

&lt;p&gt;
Значение семафора может быть изменено одним из сервисов &lt;strong&gt;установки значения&lt;/strong&gt;. Следует обратить внимание на то, что эти сервисы делятся на 2 подгруппы: обычные (можно использовать только вне прерываний) и для работы в прерывании. Для того, чтобы пользоваться счетными семафорами внутри прерываний, в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; нужно определить константу &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_INT&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Отдельно можно выделить сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal&quot;&gt;OS_Csem_Signal&lt;/a&gt;&lt;/span&gt;. Этот сервис увеличивает счетный семафор на 1. Но если на момент вызова сервиса семафор уже имеет максимально допустимое значение, то установится флаг bEventError (проверяется сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iseventerror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iseventerror&quot;&gt;OS_IsEventError&lt;/a&gt;&lt;/span&gt;), а семафор останется неизменным.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [54-3261] --&gt;
&lt;h2&gt;&lt;a name=&quot;все_сервисы_для_работы_со_счетными_семафорами&quot; id=&quot;все_сервисы_для_работы_со_счетными_семафорами&quot;&gt;Все сервисы для работы со счетными семафорами.&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_create&quot;&gt;OS_Csem_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Подготавливает счетный семафор к работе (обнуляет его)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal&quot;&gt;OS_Csem_Signal&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Увеличивает значение семафора на 1 (с ожиданием при переполнении)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_signal_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_signal_now&quot;&gt;OS_Csem_Signal_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Увеличивает значение семафора на 1 (без ожидания при переполнении).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_set&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_set&quot;&gt;OS_Csem_Set&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливаем счетный семафор в 1.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_setvalue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_setvalue&quot;&gt;OS_Csem_SetValue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem, value)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливаем счетный семафор в конкретное значение &lt;em&gt;value&lt;/em&gt;.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_reset&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_reset&quot;&gt;OS_Csem_Reset&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Обнуляем счетный семафор  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_accept&quot;&gt;OS_Csem_Accept&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Принимаем счетный семафор (уменьшаем его на 1).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_check&quot;&gt;OS_Csem_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Смотрим, установлен ли семафор (д.б. != 0)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_wait&quot;&gt;OS_Csem_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки семафора в ненулевое значение. Уменьшает значение семафора на 1.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_csem_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_csem_wait_to&quot;&gt;OS_Csem_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(csem, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки семафора с таймаутом.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Acounting_semaphores&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Все сервисы для работы со счетными семафорами.&quot; [3262-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/critical_sections?rev=1260573076">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-12T02:11:16+03:00</dc:date>
        <title>OSA : Критичекие секции</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/critical_sections?rev=1260573076</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_критичекие_секции&quot; id=&quot;osa_критичекие_секции&quot;&gt;OSA : Критичекие секции&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Критичекие секции&quot; [1-57] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Критическая секция в программе предназначена для захвата одной задачей какого-либо ресурса, если к этому ресурсу имеют доступ другие задачи. Таким ресурсом может быть, например, модуль периферии, внешняя память, наконец, процессорное время.
&lt;/p&gt;

&lt;p&gt;
Вообще-то, в кооперативной RTOS редко встречаются конфликтые ситуации, т.к. передачей управления планировщику (а следовательно, и остальным задачам, осуществляется вручную), тем не менее такие ситуации возможны. Поэтому в OSA реализована возможность защиты критических секций.
&lt;/p&gt;

&lt;p&gt;
Для того, чтобы пользоваться сервисами работы с критическими секциями, в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; нужно определить константу &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_CRITICAL_SECTION&lt;/a&gt;&lt;/span&gt;
&lt;/p&gt;

&lt;p&gt;
Для защиты критических секций есть два сервиса:
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt; - вход в критическую секцию и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leavecriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leavecriticalsection&quot;&gt;OS_LeaveCriticalSection&lt;/a&gt;&lt;/span&gt; - выход из критической секции.
&lt;/p&gt;

&lt;p&gt;
При входе в критическую секцию запрещаются все прерывания (их текущее состояние запоминается во внутренних системных флагах), а задача, вызвавшая сервис, становится единственной готовой к выполнению, вне зависимости от ее приоритета. При этом допустима передача управления планировщику.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Входя в критическую секцию, нужно помнить некоторые правила, описанные ниже.

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [58-2381] --&gt;
&lt;h2&gt;&lt;a name=&quot;сохранение_текущего_состояния_флагов_giex&quot; id=&quot;сохранение_текущего_состояния_флагов_giex&quot;&gt;Сохранение текущего состояния флагов GIEx&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Текущее состояние флагов GIEx сохраняется во внутреннюю переменную системы. После чего флаги GIEx сбрасываются. Поэтому, если два раза подряд вызвать сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt;, то в первый раз она сохранит текущее состояние влагов GIEx, а во второй - нулевое состояние, т.е. на момент второго вызова флаги уже были сброшены. В этом случае сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leavecriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leavecriticalsection&quot;&gt;OS_LeaveCriticalSection&lt;/a&gt;&lt;/span&gt; восстановит флаги, сохраненные во втором вызове, т.е. нулевые. Поэтому следует избегать двойного вызова сервисы входа в критическую секцию.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сохранение текущего состояния флагов GIEx&quot; [2382-3468] --&gt;
&lt;h2&gt;&lt;a name=&quot;системный_таймер_в_критической_секции&quot; id=&quot;системный_таймер_в_критической_секции&quot;&gt;Системный таймер в критической секции&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Использовать задержки &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;, таймеры, а также ожидать события с таймаутами можно только в том случае, если вызов сервиса &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; находится вне прерывания, иначе система будет ждать до бесконечности. (Либо после входа в критическую секцию разрешать прерывания сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt;&lt;/span&gt;, если логика программы позволяет в данной ситуации оставить прерывания.) Избежать этого можно, продублировав вызов &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; в основном цикле (там же, где вызывается &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_sched&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_sched&quot;&gt;OS_Sched&lt;/a&gt;&lt;/span&gt;).
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; interrupt int_routine &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    OS_EnterInt&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;TMR2IF&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;       &lt;span class=&quot;co1&quot;&gt;// Эта часть программы не отработает в&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;                 &lt;span class=&quot;co1&quot;&gt;// критической секции&lt;/span&gt;
         TMR2IF &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;;
         OS_Timer&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;  &lt;span class=&quot;co1&quot;&gt;// Этот вызов обрабатывается вне критической секции&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    OS_LeaveInt&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task1 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        . . .
        &lt;span class=&quot;me1&quot;&gt;OS_EnterCriticalSection&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Delay&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_LeaveCriticalSection&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        . . .
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; main &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    OS_Init&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    OS_Task_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;, Task1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Sched&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;OS_IsInCriticalSection&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
            &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;TMR2IF&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
                TMR2IF &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;;
                OS_Timer&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;    &lt;span class=&quot;co1&quot;&gt;// Этот вызов обрабатывается в критической секции&lt;/span&gt;
            &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Системный таймер в критической секции&quot; [3469-5448] --&gt;
&lt;h2&gt;&lt;a name=&quot;ожидание_событий_в_критической_секции&quot; id=&quot;ожидание_событий_в_критической_секции&quot;&gt;Ожидание событий в критической секции&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Все задачи, кроме той, которая вызвала сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt;(), блокируются, даже если их приоритет выше и они готовы к выполнению. Поэтому, если после перехода в критическую секцию мы начинаем ждать какое-то событие, которое устанавливается  в другой задаче (например, ждем освобождение ресурса, который занят другой задачей), то мы его никогда не дождемся.
Избежать этого можно, если сначала дождаться события, а затем войти в критическую секцию.
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task1 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        . . .
        &lt;span class=&quot;co1&quot;&gt;// Неправильный подход&lt;/span&gt;
        OS_EnterCriticalSection&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Bsem_Wait&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_USART_FREE&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        . . .
        &lt;span class=&quot;co1&quot;&gt;// Правильный подход&lt;/span&gt;
        OS_Bsem_Wait&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_USART_FREE&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_EnterCriticalSection&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        . . .
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Ожидание событий в критической секции&quot; [5449-6746] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_для_критических_секций&quot; id=&quot;сервисы_для_критических_секций&quot;&gt;Сервисы для критических секций&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы   &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_isincriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_isincriticalsection&quot;&gt;OS_IsInCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Возвращает 1, если одна из задач находится в критической секции.  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Вход в критическую секцию  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Acritical_sections&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leavecriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leavecriticalsection&quot;&gt;OS_LeaveCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выход из критической секции  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Acritical_sections&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы для критических секций&quot; [6747-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/flags?rev=1260573218">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-12T02:13:38+03:00</dc:date>
        <title>OSA : Флаги</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/flags?rev=1260573218</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_флаги&quot; id=&quot;osa_флаги&quot;&gt;OSA : Флаги&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Флаги&quot; [1-33] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Флаги, по сути, очень похожи на бинарные семафоры. Есть две принципиальные разницы:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; одним сервисом можно обработать несколько флагов сразу (например, можно ждать установки хотя бы одного из нескольких флагов или установки сразу нескольких);&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; после завершения ожидания флаги, в отличие от бинарных семафоров, не сбрасываются.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

Применение флагов может быть полезным, когда какой-то задаче для продолжения работы необходимы результаты работы сразу нескольких задач. Например, задаче для вычисления каких-то физических параметров необходимы сведения о температуре, давлении и влажности. Каждая из этих физических величил измеряется в отдельной задаче, которая по завершении измерения устанавливает соответствующий флаг.
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;osa.h&amp;gt;&lt;/span&gt;
&amp;nbsp;
OST_FLAG8   F_Sensors;
&amp;nbsp;
&lt;span class=&quot;co2&quot;&gt;#define  TEMPERATURE_MEASURED   0x01&lt;/span&gt;
&lt;span class=&quot;co2&quot;&gt;#define  PRESSURE_MEASURED      0x02&lt;/span&gt;
&lt;span class=&quot;co2&quot;&gt;#define  HUMIDITY_MEASURED      0x04&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Calc &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// Ждем завершения измерений&lt;/span&gt;
        OS_Flag_Wait_11&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;F_Sensors, TEMPERATURE_MEASURED | PRESSURE_MEASURED | HUMIDITY_MEASURED&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        OS_Flag_Set_0&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;F_Sensors, TEMPERATURE_MEASURED | PRESSURE_MEASURED | HUMIDITY_MEASURED&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;// Теперь можно начинать расчеты&lt;/span&gt;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Другим примером может служить постановка автомобильной сигнализации на охрану. Она может произойти при получении команды с брелока, но только после того, как все двери и багажник будут закрыты.
Фрагмен задачи может выглядеть так:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;osa.h&amp;gt;&lt;/span&gt;
&amp;nbsp;
OST_FLAG8    F_Doors;      &lt;span class=&quot;co1&quot;&gt;// Флаги, отражающие состояние каждой двери: 1 - открыта, 0 - закрыта&lt;/span&gt;
                           &lt;span class=&quot;co1&quot;&gt;// Устанавливаются и сбрасываются в задаче обработки датчиков&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co2&quot;&gt;#define DOORS_MASK   0x0F  // Маска битов, отражающих состояние дверей&lt;/span&gt;
&lt;span class=&quot;co2&quot;&gt;#define TRUNK_MASK   0x30  // Маска битов, отражающих состояние капота и багажника&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Guard &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Bsem_Wait&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;BS_CMD_GUARD&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;    &lt;span class=&quot;co1&quot;&gt;// Получили команду с брелока &amp;quot;Постановка на охрану&amp;quot;&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;// Ждем, когда будут закрыты все двери, капот и багажник&lt;/span&gt;
        OS_Flag_Wait_00&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;F_Doors, DOORS_MASK | TRUNK_MASK&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;// Начиная отсюда, переходим в режим охраны:&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// подаем звуковые и световые сигналы, берем под охрану все датчики и пр.&lt;/span&gt;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [34-3524] --&gt;
&lt;h2&gt;&lt;a name=&quot;объявление_флагов&quot; id=&quot;объявление_флагов&quot;&gt;Объявление флагов&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Флаги могут быть 8-, 16- и 32-разрядные. В программе объявляются так:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_FLAG      MyFlag1;	&lt;span class=&quot;co1&quot;&gt;//  8-разрядные флаги&lt;/span&gt;
OST_FLAG16    MyFlag2;	&lt;span class=&quot;co1&quot;&gt;// 16-разрядные флаги&lt;/span&gt;
OST_FLAG32    MyFlag3;	&lt;span class=&quot;co1&quot;&gt;// 32-разрядные флаги&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Флаги можно определять в любом банке памяти, например:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;bank2    OST_FLAG16   MyFlag;&lt;/pre&gt;
&lt;p&gt;
В программе могут одновременно использоваться флаги разных разрядностей.
&lt;/p&gt;

&lt;p&gt;
Для работы с флагами их нужно создать сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_create&quot;&gt;OS_Flag_Create&lt;/a&gt;&lt;/span&gt;. Этого можно и не делать, но тогда их начальное значение будет не определено. Ниже приведены все системные сервисы для работы с флагами.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Объявление флагов&quot; [3525-4575] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_для_работы_с_флагами&quot; id=&quot;сервисы_для_работы_с_флагами&quot;&gt;Сервисы для работы с флагами.&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_create&quot;&gt;OS_Flag_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создает флаги (фактически просто сбрасывает все флаги)  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_flag_init&quot;&gt;OS_Flag_Init&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, value)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Устанавливает все флаги в заданное значение  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_set_1&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_set_1&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Set_1&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Установка флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_set_0&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_set_0&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Set_0&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Сброс флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_11&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_check_11&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Check_11&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, все ли флаги по маске установлены  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_1x&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_check_1x&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Check_1x&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли хотя бы один установленный флаг по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_00&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_check_00&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Check_00&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, все ли флаги по маске сброшены  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_check_0x&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_check_0x&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Check_0x&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли хотя бы один сброшенный флаг по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_11&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_11&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_11&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки всех флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_1x&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_1x&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_1x&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки хотя бы одного флага из маски  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_00&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_00&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_00&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса всех флагов по маске  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_0x&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_0x&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_0x&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса хотя бы одного флага из маски  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_11_to&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_11_to&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_11_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки всех флагов по маске с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_1x_to&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_1x_to&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_1x_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем установки хотя бы одного флага из маски с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_00_to&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_00_to&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_00_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса всех флагов по маске с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_flag_wait_0x_to&quot; class=&quot;wikilink2&quot; title=&quot;osa:ref:allservices:os_flag_wait_0x_to&quot; rel=&quot;nofollow&quot;&gt;OS_Flag_Wait_0x_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(flags, mask, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сброса хотя бы одного флага из маски с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Aflags&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы для работы с флагами.&quot; [4576-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/intro?rev=1286445281">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-07T13:54:41+03:00</dc:date>
        <title>CЕРВИСЫ OSA</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/intro?rev=1286445281</link>
        <description></description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/mesage_queues?rev=1276345921">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-12T16:32:01+03:00</dc:date>
        <title>OSA : Очереди сообщений</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/mesage_queues?rev=1276345921</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_очереди_сообщений&quot; id=&quot;osa_очереди_сообщений&quot;&gt;OSA : Очереди сообщений&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Очереди сообщений&quot; [1-56] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Очереди сообщений являются самым универсальным и очень полезным инструментом ОС для обмена информацией между задачами. Очереди позволяют передавать следующее сообщение, не дожидаясь освобождения предыдущего. Очереди сообщений поддерживаются и для &lt;strong&gt;указателей на сообщения&lt;/strong&gt; и для &lt;strong&gt;коротких сообщений&lt;/strong&gt;. Для использования очередей сообщений в программе нужно в файл &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; вставить определение констант:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#define OS_ENABLE_QUEUE&lt;/span&gt;
                          &lt;span class=&quot;co1&quot;&gt;// Если собираемся использовать очереди&lt;/span&gt;
                          &lt;span class=&quot;co1&quot;&gt;// указателей на сообщения&lt;/span&gt;
&lt;span class=&quot;co2&quot;&gt;#define OS_ENABLE_SQUEUE&lt;/span&gt;
                          &lt;span class=&quot;co1&quot;&gt;// Если собираемся использовать очереди&lt;/span&gt;
                          &lt;span class=&quot;co1&quot;&gt;// коротких сообщений&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;

Определение этих констант скажет компилятору, что в генерируемый код нужно добавить функции для работы с очередями.
&lt;/p&gt;

&lt;p&gt;
В программе очереди объявляются через типы &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_queue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_QUEUE&lt;/a&gt;&lt;/span&gt; и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_squeue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_SQUEUE&lt;/a&gt;&lt;/span&gt;:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_QUEUE  queue;    &lt;span class=&quot;co1&quot;&gt;// Очередь указателей на сообщения&lt;/span&gt;
OST_SQUEUE squeue;   &lt;span class=&quot;co1&quot;&gt;// Очередь коротких сообщений&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Эти определения создают в памяти дескрипторы для работы с очередями, которые содержат информацию о размере очереди, ее заполненности, а также сам указатель на очередь. Для работы с очередями нужно также выделять RAM-память для самой очереди (буфер, куда будут помещаться сообщения).

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_MSG   msg_queue&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;         &lt;span class=&quot;co1&quot;&gt;// Буфер для очереди из 10 сообщений&lt;/span&gt;
OST_SMSG  smsg_queue&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;15&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;        &lt;span class=&quot;co1&quot;&gt;// Буфер для очереди из 15 коротких сообщений&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Перед работой с очередью, она должна быть создана, т.е. должен быть инициализирован дескриптор очереди:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    OS_Queue_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;queue, msg_queue, &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;  &lt;span class=&quot;co1&quot;&gt;// Создаем очередь queue на 10 сообщений.&lt;/span&gt;
                                         &lt;span class=&quot;co1&quot;&gt;// Сообщения, отправляемые в очередь, будут&lt;/span&gt;
                                         &lt;span class=&quot;co1&quot;&gt;// храниться в массиве msg_queue.&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Только после вызова этого сервиса можно отправлять сообщения в очередь и принимать их.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Для &lt;strong&gt;PIC16&lt;/strong&gt; дескриптор очереди и буфер очереди могут находиться только в банках bank0 и bank1.

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [57-3484] --&gt;
&lt;h3&gt;&lt;a name=&quot;объединение&quot; id=&quot;объединение&quot;&gt;Объединение&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Если в программе предполагается использование очередей обоих типов и есть уверенность в том, что &lt;strong&gt;размерности&lt;/strong&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_msg&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_MSG&lt;/a&gt;&lt;/span&gt; и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_smsg&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_SMSG&lt;/a&gt;&lt;/span&gt; одинаковы, то можно в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; определить константу:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#define OS_QUEUE_SQUEUE_IDENTICAL&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;

Это объединит функции обработки очередей разных типов, тем самым сэкономится ROM-память.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Объединение&quot; [3485-4190] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_для_работы_с_очередями_сообщений&quot; id=&quot;сервисы_для_работы_с_очередями_сообщений&quot;&gt;Сервисы для работы с очередями сообщений&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы для работы с очередями сообщений&quot; [4191-4279] --&gt;
&lt;h3&gt;&lt;a name=&quot;очередь_сообщений&quot; id=&quot;очередь_сообщений&quot;&gt;Очередь сообщений&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_create&quot;&gt;OS_Queue_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, buffer, size)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создаем очередь сообщений queue, указывая буфер и его размер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send&quot;&gt;OS_Queue_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым message в очередь queue с ожиданием свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_to&quot;&gt;OS_Queue_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, message, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send&quot;&gt;OS_Queue_Send&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_send_now&quot;&gt;OS_Queue_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым message в очередь queue без ожидания свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_check&quot;&gt;OS_Queue_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли сообщение в очереди.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_isfull&quot;&gt;OS_Queue_IsFull&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка переполненности буфера  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait&quot;&gt;OS_Queue_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, os_msg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сообщение из очереди queue  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait_to&quot;&gt;OS_Queue_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(queue, os_msg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_queue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_queue_wait&quot;&gt;OS_Queue_Wait&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Очередь сообщений&quot; [4280-7611] --&gt;
&lt;h3&gt;&lt;a name=&quot;очередь_коротких_сообщений&quot; id=&quot;очередь_коротких_сообщений&quot;&gt;Очередь коротких сообщений&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_create&quot;&gt;OS_Squeue_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, buffer, size)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создаем очередь коротких сообщений squeue, указывая буфер и его размер  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send&quot;&gt;OS_Squeue_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым smessage в очередь squeue с ожиданием свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_to&quot;&gt;OS_Squeue_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, smessage, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send&quot;&gt;OS_Squeue_Send&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_send_now&quot;&gt;OS_Squeue_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение с содержимым smessage в очередь squeue без ожидания свободной ячейки  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_check&quot;&gt;OS_Squeue_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, есть ли сообщение в очереди.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_isfull&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_isfull&quot;&gt;OS_Squeue_IsFull&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка переполненности буфера. Возвращает true, если в очереди нет места.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait&quot;&gt;OS_Squeue_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, os_smsg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сообщение из очереди squeue  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait_to&quot;&gt;OS_Squeue_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(squeue, os_smsg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_squeue_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_squeue_wait&quot;&gt;OS_Squeue_Wait&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amesage_queues&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Очередь коротких сообщений&quot; [7612-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/messages?rev=1272952523">
        <dc:format>text/html</dc:format>
        <dc:date>2010-05-04T09:55:23+03:00</dc:date>
        <title>OSA : Сообщения</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/messages?rev=1272952523</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_сообщения&quot; id=&quot;osa_сообщения&quot;&gt;OSA : Сообщения&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Сообщения&quot; [1-40] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Сообщения - один из способов обмена информацией между задачами. Телом сообщения может быть все, что угодно: принятые по USART или прочитанные из EEPROM данные, состояния внешних датчиков, информация о нажатых кнопках и пр. В OSA предусмотрены два типа сообщений: &lt;strong&gt;указатели на сообщения&lt;/strong&gt; и &lt;strong&gt;короткие однобайтовые сообщения&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Первые - наиболее общие, которые позволяют обмениваться любой информацией, любого размера и содержания. Между задачами идет обмен указателями на тела сообщений.
Вторые - однобайтовые сообщения, которые могут принимать значения от 1 до 255 (0 - сообщение отсутствует). Этот тип сообщения реализован в OSA для экономии RAM. В отличие от указателя на сообщение, который занимает в памяти  2 байта (для PIC16) или 3 байта (для остальных пиков), короткое сообщение занимает 1 байт. Ниже будут рассмотрены оба типа сообщений.
&lt;/p&gt;

&lt;p&gt;
Сообщение может находиться в двух состояниях: свободно и занято. Если в данный момент сообщение содержит полезную информацию (т.е. было отправлено какой-то задачей, но еще не обработано задачей, ждущей его), то сообщение считается &lt;strong&gt;занятым&lt;/strong&gt;. Иначе - &lt;strong&gt;свободным&lt;/strong&gt;.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [41-2062] --&gt;
&lt;h2&gt;&lt;a name=&quot;указатели_на_сообщения&quot; id=&quot;указатели_на_сообщения&quot;&gt;Указатели на сообщения&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Тип указателя определен по умолчанию как &lt;em&gt;void*&lt;/em&gt;. Но его можно изменить, задав константу &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_msg&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_MSG&lt;/a&gt;&lt;/span&gt; в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h.&lt;/a&gt;&lt;/span&gt; Например, его можно задать так:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#define OS_MSG_TYPE    const char *&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
и передавать в сообщениях текстовые строки.
&lt;/p&gt;

&lt;p&gt;
Для работы с указателем на сообщение, он должен быть создан сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_create&quot;&gt;OS_Msg_Create&lt;/a&gt;&lt;/span&gt;. Задача, ожидающая сообщение, переводится в режим ожидания до тех пор, пока сообщение не будет получено. Как только сообщение приходит, задача переводится в состояние готовности и, получив управление, извлекает сообщение по указанной ссылке и очищает тело сообщения, делая его свободным.
&lt;/p&gt;

&lt;p&gt;
Для отправки сообщения существуют 3 сервиса: &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_to&quot;&gt;OS_Msg_Send_TO&lt;/a&gt;&lt;/span&gt; и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_now&quot;&gt;OS_Msg_Send_Now&lt;/a&gt;&lt;/span&gt;.
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt; перед отправкой проверяет, свободно ли сообщение. Если нет (задача, которой сообщения отсылаются, по какой-то причине еще не обработала предыдущее), то сервис переводит задачу в состояние ожидания до тех пор, пока сообщение не освободится. Как только сообщение освободится, задача переводится в состояние готовности, и при получении управления она отправит новое сообщение.
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_to&quot;&gt;OS_Msg_Send_TO&lt;/a&gt;&lt;/span&gt; - то же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt;, только может выйти по таймауту, если предыдущее сообщение долго не освобождается.
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_now&quot;&gt;OS_Msg_Send_Now&lt;/a&gt;&lt;/span&gt; перед отправкой сообщения не обращает внимания на то, занято сообщение или свободно. Предыдущее сообщение, если оно еще не обработано, затирается новым.
&lt;/p&gt;

&lt;p&gt;
Для проверки занятости сообщения есть сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_check&quot;&gt;OS_Msg_Check&lt;/a&gt;&lt;/span&gt;, который возвращает ноль, если сообщение свободно.
&lt;/p&gt;

&lt;p&gt;
Ниже приведен пример использования указателя на сообщение:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_MSG_CB    msg_cb;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_USARTReceive &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw4&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; BUF&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;        &lt;span class=&quot;co1&quot;&gt;// Буфер для приема данных по UART&lt;/span&gt;
    &lt;span class=&quot;kw4&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; Message&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;;    &lt;span class=&quot;co1&quot;&gt;// Тело сообщения&lt;/span&gt;
&amp;nbsp;
    OS_Msg_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;msg_cb&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;         &lt;span class=&quot;co1&quot;&gt;// Создаем сообщение перед работой с ним&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        ...
        &lt;span class=&quot;co1&quot;&gt;// Получаем данные и пишем их в буфер BUF&lt;/span&gt;
        ...
        &lt;span class=&quot;co1&quot;&gt;// Проверяем, обработалось ли предыдущее сообщение&lt;/span&gt;
        OS_Cond_Wait&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy3&quot;&gt;!&lt;/span&gt;OS_Msg_Check&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;msg_cb&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;co1&quot;&gt;// Когда попали сюда, му уже уверены, что предыдущее сообщение&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// обработано и Message[] уже не содержит никакой полезной информации&lt;/span&gt;
&amp;nbsp;
        &lt;span class=&quot;co1&quot;&gt;// Теперь копируем данные из буфера в тело сообщения Message[]&lt;/span&gt;
        &lt;span class=&quot;kw3&quot;&gt;memcpy&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Message, BUF, &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;co1&quot;&gt;// и отправляем сообщение&lt;/span&gt;
        OS_Msg_Send&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;msg_cb, &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;OST_MSG&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;Message&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
. . .
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Work &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    OST_MSG msg;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Msg_Wait&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;msg_cb, msg&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;co1&quot;&gt;// Здесь msg уже является указателем на Message&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// из задачи Task_USARTReceive.&lt;/span&gt;
        &lt;span class=&quot;co1&quot;&gt;// После выполнения этого сервиса сообщение освобождается.&lt;/span&gt;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Указатели на сообщения&quot; [2063-6753] --&gt;
&lt;h2&gt;&lt;a name=&quot;короткие_однобайтовые_сообщения&quot; id=&quot;короткие_однобайтовые_сообщения&quot;&gt;Короткие однобайтовые сообщения&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Тип короткого сообщения по умолчанию &lt;em&gt;unsigned char&lt;/em&gt;, однако, он может быть изменен в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; заданием константы &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_smsg&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_SMSG&lt;/a&gt;&lt;/span&gt;:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#define OS_SMSG_TYPE    unsigned long  // изменение типа SMSG&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Если его изменять, то теряется преимущество в использовании RAM. Тем не менее, это иногда может оказаться полезным с точки зрения функционирования программы. Например, при использовании указателя на сообщение, телом которого является unsigned long, мы не можем изменять содержимое тела сообщения, пока сообщение не будет получено и обработано другой задачей (в пердыдущем примере &lt;em&gt;Message[]&lt;/em&gt;). В случае с короткими сообщениями это ограничение снимается, т.к. все тело сообщения записывается в переменную сообщения.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Нельзя задавать типом короткого сообщения структуры, массивы и объединения. Короткому однобайтовому сообщени можно давать только числовой тип: char, int long, bit, а также float и double.

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;

Во всем остальном работа с короткими сообщениями повторяет работу с указателями на сообщения.Ниже приведен пример использования короткого сообщения:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_SMSG  smsg_Buttons;
. . .
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Buttons &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    OS_Smsg_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;smsg_Buttons&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        . . .
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy3&quot;&gt;!&lt;/span&gt;RB0 || &lt;span class=&quot;sy3&quot;&gt;!&lt;/span&gt;RB1 || &lt;span class=&quot;sy3&quot;&gt;!&lt;/span&gt;RB2&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
            OS_Smsg_Send&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;smsg_Buttons, &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;OST_SMSG&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;PORTB &lt;span class=&quot;sy3&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nu12&quot;&gt;0x07&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
...
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Work &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    OST_SMSG smsg;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Smsg_Wait&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;smsg_Buttons, smsg&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
        &lt;span class=&quot;co1&quot;&gt;// Обработка нажатой кнопки&lt;/span&gt;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;smsg &lt;span class=&quot;sy3&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nu12&quot;&gt;0x01&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ...;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;smsg &lt;span class=&quot;sy3&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nu12&quot;&gt;0x02&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ...;
        &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;smsg &lt;span class=&quot;sy3&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nu12&quot;&gt;0x04&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ...;
        ...
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Короткие однобайтовые сообщения&quot; [6754-9297] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_для_работы_с_сообщниями&quot; id=&quot;сервисы_для_работы_с_сообщниями&quot;&gt;Сервисы для работы с сообщниями&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы для работы с сообщниями&quot; [9298-9369] --&gt;
&lt;h3&gt;&lt;a name=&quot;сообщения&quot; id=&quot;сообщения&quot;&gt;Сообщения&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_create&quot;&gt;OS_Msg_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создает сообщение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение &lt;em&gt;msg_cb&lt;/em&gt; (тип &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_msg_cb&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_MSG_CB&lt;/a&gt;&lt;/span&gt;) с ожиданием освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_to&quot;&gt;OS_Msg_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, message, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send&quot;&gt;OS_Msg_Send&lt;/a&gt;&lt;/span&gt; с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_send_now&quot;&gt;OS_Msg_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, message)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение &lt;em&gt;msg_cb&lt;/em&gt; без ожидания освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_check&quot;&gt;OS_Msg_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, активно ли сообщение (присутствует ли оно).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_accept&quot;&gt;OS_Msg_Accept&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, os_msg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Принять существующее сообщение.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait&quot;&gt;OS_Msg_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, os_msg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем сообщение msg_cb.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait_to&quot;&gt;OS_Msg_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(msg_cb, os_msg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_msg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_msg_wait&quot;&gt;OS_Msg_Wait&lt;/a&gt;&lt;/span&gt;, с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сообщения&quot; [9370-12535] --&gt;
&lt;h3&gt;&lt;a name=&quot;короткие_сообщения&quot; id=&quot;короткие_сообщения&quot;&gt;Короткие сообщения&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_create&quot;&gt;OS_Smsg_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Создает короткое сообщение (фактически - просто обнуляет его)  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Отправка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send&quot;&gt;OS_Smsg_Send&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем сообщение &lt;em&gt;smsg&lt;/em&gt; с содержимым &lt;em&gt;smessage&lt;/em&gt; с ожиданием освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_to&quot;&gt;OS_Smsg_Send_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, smessage, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send&quot;&gt;OS_Smsg_Send&lt;/a&gt;&lt;/span&gt;, но с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_send_now&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_send_now&quot;&gt;OS_Smsg_Send_Now&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, smessage)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Отправляем короткое сообщение &lt;em&gt;smsg&lt;/em&gt; с содержимым &lt;em&gt;smessage&lt;/em&gt; без ожидания освобождения  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_check&quot;&gt;OS_Smsg_Check&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, активно ли сообщение (присутствует ли оно).  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_accept&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_accept&quot;&gt;OS_Smsg_Accept&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, os_smsg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Принять существующее сообщение  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_can_int.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_can_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_can_int.png&quot; class=&quot;media&quot; title=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; alt=&quot;Есть расширенный сервис с суффиксом _I для работы в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait&quot;&gt;OS_Smsg_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, os_smsg_type_var)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем короткое сообщение &lt;em&gt;smsg&lt;/em&gt;.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait_to&quot;&gt;OS_Smsg_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(smsg, os_smsg_type_var, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; То же, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_smsg_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_smsg_wait&quot;&gt;OS_Smsg_Wait&lt;/a&gt;&lt;/span&gt;, с выходом по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Amessages&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Короткие сообщения&quot; [12536-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/system_services?rev=1268220980">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-10T14:36:20+03:00</dc:date>
        <title>OSA : Системные сервисы</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/system_services?rev=1268220980</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_системные_сервисы&quot; id=&quot;osa_системные_сервисы&quot;&gt;OSA : Системные сервисы&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Системные сервисы&quot; [1-55] --&gt;
&lt;h2&gt;&lt;a name=&quot;общие_системные_сервисы&quot; id=&quot;общие_системные_сервисы&quot;&gt;Общие системные сервисы&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_init&quot;&gt;OS_Init&lt;/a&gt;(&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Инициализация переменных системы. Должна вызываться один раз в начале программы (до основного цикла).&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Выполняет начальную инициализация переменных системы OSA. Должна вызываться один раз в начале программы (до основного цикла). Этот сервис обнуляет список задач, сбрасывает все бинарные семафоры, очищает список динамических таймеров.
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;(&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Обработка всех таймеров (вставляется в периодическое место в программе, например, в прерывание по таймеру). Эта функция должна использоваться, если в программе есть &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;, работа с &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/services/timers&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:services:timers&quot;&gt;пользовательскими таймерами&lt;/a&gt;&lt;/span&gt; или ожидание событий с таймаутом. &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Сервис использует таймаут&quot; alt=&quot;Сервис использует таймаут&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Этот сервис должен использоваться, если в программе есть одно из ниже перечисленного:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; использование сервиса &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; работа со статическими или динамическими таймерами;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ожидание событий с таймаутом.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Для использования таймера в файле конфигурации &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; нужно определить константу &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_TIMER&lt;/a&gt;&lt;/span&gt;.
Вызов этого сервиса нужно вставлять в периодическое место в программе, например, в прерывание по таймеру.
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Период вызова сервиса &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; называется &lt;em class=&quot;u&quot;&gt;&lt;strong&gt;системным тиком&lt;/strong&gt;&lt;/em&gt; и является внутренней системной единицей времени.

&lt;/div&gt;&lt;/p&gt;
Сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; управляет:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Системным таймером, по которому отсчитываются задержки &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt; и отслеживаются таймауты для ожидания событий.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Пользовательскими таймерами (динамическими и статическими).&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

При каждом вызове &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;() все активные таймеры увеличиваются на 1 (все неактивные - пропускаются), кроме 24-битных статических таймеров, которые уменьшаются 1 раз в 256 вызовов (см. 2.12.2.1).
&lt;/p&gt;

&lt;p&gt;
Пример использования:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; interrupt isr&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;T0IE &lt;span class=&quot;sy3&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; T0IF&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        TMR0 &lt;span class=&quot;sy2&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;250&lt;/span&gt;;
        T0IF &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;;
        OS_Timer&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_yield&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_yield&quot;&gt;OS_Yield&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Передача управления планировщику&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Этот сервис безусловно передает управление операционной системе, давая, таким образом, возможность выполниться другим задачам.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Общие системные сервисы&quot; [56-4373] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_ожидания&quot; id=&quot;сервисы_ожидания&quot;&gt;Сервисы ожидания&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;delaytime&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Выдерживаем паузу внутри задачи (в тиках - периодах вызова &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;)&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Сервис использует таймаут&quot; alt=&quot;Сервис использует таймаут&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Переводит задачу в состояние ожидания на время, заданное параметром &lt;em&gt;delaytime&lt;/em&gt;. Параметр задается в системных тиках - периодах вызова сервиса &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;.
&lt;/p&gt;

&lt;p&gt;
Например, если в задаче требуется выводить индикацию температуры раз в секунду, то можно воспользоваться этим сервисом (в этом примере предполагаем, что системный тик, т.е. интервал вызова &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;() равен 10 мс):
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Indicate &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Delay&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;			&lt;span class=&quot;co1&quot;&gt;// Задержка = 100 * 10 мс = 1 сек&lt;/span&gt;
        IndicateTemerature&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;		&lt;span class=&quot;co1&quot;&gt;// Отображаем температуру&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Используя этот сервис (и вообще, все сервисы ожидания с таймаутами), следует быть внимательным и помнить, что  &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;, который отсчитывает системные тики для них, - &lt;strong&gt;дискретный&lt;/strong&gt;. Следовательно, точность задания задержки равна одному тику системного таймера. Если системный тик равен 10 мс, то &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;(1) - может прождать 10 мс, а может и ничего не прождать (зависит от того, через какое время произойдет вызов &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;()). Поэтому нужно либо быть уверенным в том, что длительность задержки не существенна для конкретной задачи, либо сократить интервал вызова &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; и увеличить параметр &lt;em&gt;delaytime&lt;/em&gt; в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;. Например, участив в 10 раз вызов &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;, т.е. превратив системный  тик в 1 мс (вместо 10 мс) мы можем написать:
&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;(10) - и быть уверенными, что задержка будет 9-10мс.
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait&quot;&gt;OS_Wait&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;condition&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Ожидаем выполнения условия&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Переводит задачу в режим ожидания до тех пор, пока не будет выполнено заданное условие. Условием &lt;em&gt;condition&lt;/em&gt; в данном случае может быть любое выражение перечислимого типа (bool, char, int и т.д.). Как только условие выполняется, задача переходит в состояние готовности и, как только становится самой приоритетной из всех готовых, получает управление. Исключение - &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/events_and_priority#состязания_приоритетов&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:events_and_priority&quot;&gt;состязяние приоритетов&lt;/a&gt;.
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    ...
    &lt;span class=&quot;me1&quot;&gt;OS_Wait&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;m_nInPulseCounter &lt;span class=&quot;sy1&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt; || m_bButtonPressed&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    ...&lt;/pre&gt;
&lt;p&gt;
В этом примере &lt;em&gt;m_nInPulseCounter&lt;/em&gt; и &lt;em&gt;m_bButtonPressed&lt;/em&gt; - некие внешние глобальные переменные, которые изменяются где угодно в программе (например, в прерывании). Программа будет в режиме ожидания, пока условие не выполнится (в нашем примере, пока не придет больше 10 импульсов, или пока не будет нажата кнопка).
&lt;/p&gt;

&lt;p&gt;

&lt;br/&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait_to&quot;&gt;OS_Wait_TO&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;condition, timeout&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Ожидаем выполнения условия с таймаутом &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Сервис использует таймаут&quot; alt=&quot;Сервис использует таймаут&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

То же самое, что и &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait&quot;&gt;OS_Wait&lt;/a&gt;&lt;/span&gt;, но с дополнительным условием выхода - таймаутом.
Задача переводится в состояние ожидание до тех пор, пока не быдет выполнено условие &lt;em&gt;condition&lt;/em&gt; или пока не пройдет время &lt;em&gt;timeout&lt;/em&gt;. Таймаут задается в системных тиках.
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    ...
    &lt;span class=&quot;me1&quot;&gt;OS_Wait_TO&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;m_bButtonPressed, &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;OS_IsTimeout&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ...;
    ...&lt;/pre&gt;
&lt;p&gt;
В данном примере мы в течение 100 тиков (если 1 тик = 10мс, то в течение секунды) ждем нажатия кнопки. После выхода из ожидания проверяем, по какой причине вышли из ожидания: по выполнению условия или по таймауту.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы ожидания&quot; [4374-10707] --&gt;
&lt;h2&gt;&lt;a name=&quot;состояние_системы&quot; id=&quot;состояние_системы&quot;&gt;Состояние системы&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Все сервисы проверки состояния системы вызвращают либо 0 либо 1, в зависимости от состояния внутренних системных флагов.

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;em&gt;bool&lt;/em&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_istimeout&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_istimeout&quot;&gt;OS_IsTimeout&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Проверка, вышли ли из ожидания по таймауту&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Сервис использует таймаут&quot; alt=&quot;Сервис использует таймаут&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Этот сервис можно применять только в задачах после любого сервиса ожидания с таймаутом для проверки, по какой причине вышли из ожидания: дождались ли того, что ждали, или по таймауту.
Возвращает 1, если вышли из ожидания по таймауту.
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;em&gt;bool&lt;/em&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iserror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iserror&quot;&gt;OS_IsError&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Проверка, была ли ошибка&lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Системными ошибками счиатаюстя:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ошибка создания задачи (нет свободного дескриптора)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;em&gt;bool&lt;/em&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iseventerror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iseventerror&quot;&gt;OS_IsEventError&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Проверка, была ли ошибка события &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Ошибками события считаются:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Попытка увеличить счетный семафор, если он уже имеет максимальное значение&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Выход по таймауту из ожидания события (от &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_istimeout&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_istimeout&quot;&gt;OS_IsTimeout&lt;/a&gt;&lt;/span&gt; отличается тем, что доступен в любом месте программы, а не только внутри задачи)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Посылка сообщения в очередь, когда в ней нет свободного места&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;em&gt;bool&lt;/em&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_isincriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_isincriticalsection&quot;&gt;OS_IsInCriticalSection&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Возвращает 1, если одна из задач находится в критической секции.&lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Состояние системы&quot; [10708-13243] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_управления_прерываниями&quot; id=&quot;сервисы_управления_прерываниями&quot;&gt;Сервисы управления прерываниями&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_enterint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_enterint&quot;&gt;OS_EnterInt&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;strong&gt;Для PICC и PICC18&lt;/strong&gt;: Должна выполняться при входе в прерывание (сохраняет FSR)&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в прерывании&quot; alt=&quot;Разрешен вызов только в прерывании&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

&lt;br/&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leaveint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leaveint&quot;&gt;OS_LeaveInt&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;strong&gt;Для PICC и PICC18&lt;/strong&gt;: Должна выполняться перед выходом из прерывания (восстанавливает FSR)&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в прерывании&quot; alt=&quot;Разрешен вызов только в прерывании&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_enterint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_enterint&quot;&gt;OS_EnterInt&lt;/a&gt;&lt;/span&gt; вставляется в самом начале прерывания, сразу после описания переменных функции прерывания, а &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leaveint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leaveint&quot;&gt;OS_LeaveInt&lt;/a&gt;&lt;/span&gt; - в самом конце перед закрывающей скобкой &amp;quot;}&amp;quot;. Например:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; interrupt int_routine &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt;  var1, var2;
    &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt;   var3;
    OS_EnterInt&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    ...                &lt;span class=&quot;co1&quot;&gt;// Здесь делается проверка флагов прерываний&lt;/span&gt;
    ...                &lt;span class=&quot;co1&quot;&gt;// и обработка&lt;/span&gt;
    OS_LeaveInt&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;em&gt;char&lt;/em&gt; &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Запретить прерывания. Текущие значения GIEx сохраняются&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Этот сервис не просто запрещает прерывания, а еще возвращает  состояние битов GIEx. Для PIC18 при IPEN=1 запрещаются (и, соответственно, сохраняются) GIEH и GIEL, а при IPEN=0 - только GIE.
&lt;/p&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешить прерывания&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt;&lt;/span&gt;() разрешает прерывания. Для PIC18 при IPEN=1 разрешаются и GIEH и GIEL, а при IPEN=0 - только GIE.
&lt;/p&gt;

&lt;p&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ri&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ri&quot;&gt;OS_RI&lt;/a&gt; (&lt;/span&gt;&lt;em&gt;char&lt;/em&gt;&lt;span class=&quot;important&quot;&gt;)&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Восстановить сохраненные в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;() значения GIEx. &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ri&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ri&quot;&gt;OS_RI&lt;/a&gt;&lt;/span&gt;(char) восстанавливает прерывания из параметра char (полученного сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;()). Для PIC18 при IPEN=1 восстанавливаются и GIEH и GIEL, а при IPEN=0 - только GIE.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;notewarning&quot;&gt;
Этот сервис восстанавливает только единичное значение флагов! Т.е. если флаг GIE == 0 был сохранен сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;, потом установлен сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt;&lt;/span&gt;, то при выполнении сервиса &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ri&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ri&quot;&gt;OS_RI&lt;/a&gt;&lt;/span&gt; он не установится обратно в 0.

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
Ниже приведен пример использования этих сервисов при генерации одиночного импульса длительностью 5 тактов:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; gie_temp;
    ...
    &lt;span class=&quot;me1&quot;&gt;gie_temp&lt;/span&gt; &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; OS_DI&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    RB0 &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;
    NOP&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    NOP&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    NOP&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    NOP&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    RB0 &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;;
    OS_RI&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;gie_temp&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    ...
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы управления прерываниями&quot; [13244-17348] --&gt;
&lt;h3&gt;&lt;a name=&quot;системные_сервисы&quot; id=&quot;системные_сервисы&quot;&gt;Системные сервисы&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы   &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Системные&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_sched&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_sched&quot;&gt;OS_Sched&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Основная работа операционки, вызывается в главном цикле  функции main()  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_run&quot;&gt;OS_Run&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запускает ядро операционки в работу.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;strong&gt;main()&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_init&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_init&quot;&gt;OS_Init&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Инициализация переменных системы.   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Обработка всех таймеров   &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Ожидание&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_yield&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_yield&quot;&gt;OS_Yield&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Передача управления планировщику  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(delaytime)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  Выдерживаем паузу внутри задачи  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait&quot;&gt;OS_Wait&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(condition)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем выполнения условия  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_wait_to&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_wait_to&quot;&gt;OS_Wait_TO&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(condition, timeout)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Ожидаем выполнения условия с таймаутом  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;использует системный таймер&quot; alt=&quot;использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Проверка состояния&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_istimeout&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_istimeout&quot;&gt;OS_IsTimeout&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка, вышли ли из ожидания по таймауту  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_to.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_to.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_to.png&quot; class=&quot;media&quot; title=&quot;Использует системный таймер&quot; alt=&quot;Использует системный таймер&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iserror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iserror&quot;&gt;OS_IsError&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка, была ли ошибка  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iseventerror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iseventerror&quot;&gt;OS_IsEventError&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверка, была ли ошибка события  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;bool &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_isincriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_isincriticalsection&quot;&gt;OS_IsInCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Возвращает 1, если одна из задач находится в критической секции.  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Прерывания&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_enterint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_enterint&quot;&gt;OS_EnterInt&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Должна выполняться при входе в прерывание (сохраняет FSR)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в прерывании&quot; alt=&quot;Разрешен вызов только в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leaveint&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leaveint&quot;&gt;OS_LeaveInt&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Должна выполняться перед выходом из прерывания (восстанавливает FSR)  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_int.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в прерывании&quot; alt=&quot;Разрешен вызов только в прерывании&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;char &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Запретить прерывания. Текущие значения GIEx сохраняются  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ei&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ei&quot;&gt;OS_EI&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Разрешить прерывания  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ri&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ri&quot;&gt;OS_RI&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(char)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Восстановить сохраненные в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_di&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_di&quot;&gt;OS_DI&lt;/a&gt;&lt;/span&gt;() значения GIEx.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_entercriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_entercriticalsection&quot;&gt;OS_EnterCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Вход в критическую секцию  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_leavecriticalsection&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_leavecriticalsection&quot;&gt;OS_LeaveCriticalSection&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Выход из критической секции  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Asystem_services&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Системные сервисы&quot; [17349-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/tasks?rev=1277300311">
        <dc:format>text/html</dc:format>
        <dc:date>2010-06-23T17:38:31+03:00</dc:date>
        <title>OSA : Задачи</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/tasks?rev=1277300311</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_задачи&quot; id=&quot;osa_задачи&quot;&gt;OSA : Задачи&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Задачи&quot; [1-36] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Любая задача в ОСРВ OSA - это функция, тело которой содержит бесконечный цикл. Внутри цикла должен быть хотя бы один вызов сервиса ОС, который переключает контекст задач, иначе планировщик (а следовательно, и все остальные задачи) никогда не получит управление обратно.
&lt;/p&gt;

&lt;p&gt;
Простейшая задача может выглядеть так:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; SimpleTask &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Yield&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Если программа пишется под &lt;strong&gt;mikroC PRO&lt;/strong&gt;, то линкеру нужно указывать, что функция задача будет вызвана через указатель, напимер:
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;important&quot;&gt;#pragma funcall main SimpleTask&lt;/span&gt;

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
Задача может находиться в одном из 5-и состояний:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; не создана (не активна)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; в ожидании&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; в готовности&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; выполняется&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; проиостановлена&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Кроме того, задача может иметь приоритет от 0 (высший) до 7 (низший). Приоритет можно изменять в ходе выполнения программы. &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/events_and_priority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:events_and_priority&quot;&gt;Подробнее о приоритетах и состояниях&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Для работы с задачами OSA резервирует память под дескрипторы задач. В файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; задается константа &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_TASKS&lt;/a&gt;&lt;/span&gt;, которая показывает, сколько одновременно активных задач может работать в программе.

&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [37-2015] --&gt;
&lt;h2&gt;&lt;a name=&quot;указатель_на_tcb&quot; id=&quot;указатель_на_tcb&quot;&gt;Указатель на TCB&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Большинство операций по управлению задачей осуществляется через указатель на ее дескриптор или &lt;strong&gt;tcb&lt;/strong&gt; (Task Control Block). Дескрипторы задач недоступны напрямую, поэтому нужно создавать глобальную переменную типа &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_task_pointer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_TASK_POINTER&lt;/a&gt;&lt;/span&gt;, и все опреации производить через нее:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_TASK_POINTER tp_MyTask;&lt;/pre&gt;
&lt;p&gt;
Для работы с указателем он должен быть проинициализирован сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcur&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcur&quot;&gt;OS_Task_GetCur&lt;/a&gt;&lt;/span&gt;. Этот сервис желательно вызывать в самом начале функции-задачи:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; MtTask &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    tp_MyTask &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; OS_GetCurTask&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;coMULTI&quot;&gt;/*....*/&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Для управления задачей из самой задачи в качестве параметра сервисов управления может применяться системный макрос &lt;strong&gt;this_task&lt;/strong&gt; (или сам сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcur&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcur&quot;&gt;OS_Task_GetCur&lt;/a&gt;&lt;/span&gt;):
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; MyTask &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;coMULTI&quot;&gt;/*...*/&lt;/span&gt;
        OS_Task_SetPriority&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;this_task, &lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;    &lt;span class=&quot;co1&quot;&gt;// Установить высший приоритет текущей задаче&lt;/span&gt;
        &lt;span class=&quot;coMULTI&quot;&gt;/*...*/&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;!-- SECTION &quot;Указатель на TCB&quot; [2016-3586] --&gt;
&lt;h2&gt;&lt;a name=&quot;создание_задачи&quot; id=&quot;создание_задачи&quot;&gt;Создание задачи&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Созадется, т.е. делается активной задача сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_create&quot;&gt;OS_Task_Create&lt;/a&gt;&lt;/span&gt;, которому в параметрах передается начальный приоритет задачи и имя функции-задачи.
&lt;/p&gt;

&lt;p&gt;
Например:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;osa.h&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task1 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        OS_Yield&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
...
&amp;nbsp;
&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; main &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    OS_Init&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    OS_Task_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;7&lt;/span&gt;, Task1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    ...
    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;;;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; OS_Sched&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
В данном примере создается задача Task1 с низшим приоритетом. Теперь ОС будет знать, что есть такая активная задача и будет принимать ее в расчет, когда будет выбирать готовую задачу для выполнения.
Сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_create&quot;&gt;OS_Task_Create&lt;/a&gt;&lt;/span&gt; может вызываться в любом месте программы.
&lt;/p&gt;

&lt;p&gt;

Если приоритетный режим не включен (&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_DISABLE_PRIORITY&lt;/a&gt;&lt;/span&gt; определена в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt;), то параметр &lt;em&gt;priority&lt;/em&gt; все равно нужно передавать, просто он будет игнорироваться. Это сделано для того, чтобы включать/отключать приоритетный режим было проще.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt; Ошибка при создании задачи &lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Если в памяти, отведенной системой под задачи,  есть свободный дескриптор, то он будет выделен под новую задачу. Если свободных дескрипторов нет, то задача не будет создана, а после выполнения &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_create&quot;&gt;OS_Task_Create&lt;/a&gt;&lt;/span&gt; будет установлен флаг ошибки (его можно проверить сервисом  &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_iserror&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_iserror&quot;&gt;OS_IsError&lt;/a&gt;&lt;/span&gt;).
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    OS_Task_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;7&lt;/span&gt;, Task1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;OS_IsError&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ...	;	&lt;span class=&quot;co1&quot;&gt;// Обрабатываем ошибку&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;

Если такая ошибка возникает, то нужно либо увеличить значение константы &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_TASKS&lt;/a&gt;&lt;/span&gt; в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt; и пересобрать проект, либо если предполагалось, что свободный дескриптор должен быть, искать ошибку в программе (например, предполагалось, что какая-то задача выполнит остановку, но по каким-то причинам ее не выполнила).

&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;

По завершению работы этого сервиса можно получить указатель на дескриптор вновь созданной задачи сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcreated&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcreated&quot;&gt;OS_Task_GetCreated&lt;/a&gt;&lt;/span&gt;() (бывает нужно, когда одна задача будет приостанавливаться или удаляться из другой):
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    OST_TASK_POINTER  tp;
&amp;nbsp;
    OS_Task_Create&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu19&quot;&gt;0&lt;/span&gt;, MyTask&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;sy3&quot;&gt;!&lt;/span&gt;OS_IsError&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; tp &lt;span class=&quot;sy1&quot;&gt;=&lt;/span&gt; OS_Task_GetCreated&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Если программа пишется под &lt;strong&gt;CCS&lt;/strong&gt;, то в функции main для всех функций-задач нужно вызвать сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_define&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_define&quot;&gt;OS_Task_Define&lt;/a&gt;&lt;/span&gt;

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Создание задачи&quot; [3587-7368] --&gt;
&lt;h2&gt;&lt;a name=&quot;удаление_задачи&quot; id=&quot;удаление_задачи&quot;&gt;Удаление задачи&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Остановить задачу (удалить ее из списка активных задач) можно сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_delete&quot;&gt;OS_Task_Delete&lt;/a&gt;&lt;/span&gt;. Перед удалением следует быть уверенным в том, что задача освободила все занимаемые ей ресурсы и нет задач, ожидающих от нее событий.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;
Рекомендуется удалять задачу из самой себя.

&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
При удалении задачи дескриптор освобождается и, если удаление производилось из самой задачи (с параметром &lt;strong&gt;this_task&lt;/strong&gt;), то сразу же происходит передача управления планировщику. В случае удаления задачи самой себя после вызова &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_delete&quot;&gt;OS_Task_Delete&lt;/a&gt;&lt;/span&gt;(this_task) уже ничего не будет выполняться. Например:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    ...
    &lt;span class=&quot;me1&quot;&gt;OS_Task_Delete&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;this_task&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    Counter ++;
    ...&lt;/pre&gt;
&lt;p&gt;
В этом примере переменная &lt;em&gt;Counter&lt;/em&gt; не увеличится.
&lt;/p&gt;

&lt;p&gt;
Если нужно остановить задачу, но при этом сразу же запустить другую, то нужно сначала запустить другую, а затем остановить текущую.
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    . . .
    &lt;span class=&quot;me1&quot;&gt;OS_Task_Create&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, Task_NewTask&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    OS_Task_Delete&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;this_task&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    . . .&lt;/pre&gt;
&lt;p&gt;
При таком подходе есть недостаток: нужно резервировать память под большее количество задач, чем требуется. Например, в диктофоне есть несколько задач: обработка кнопок, индикация, воспроизведение, запись, проверка заряженности батареек. Здесь есть две задачи, которые не могут  выполняться одновременно: запись и воспроизведение. Таким образом, активных задач в один момент времени может быть только 4. Переходя в запись из воспроизведения, нам нужно создавать новую задачу до завершения старой, а это требует наличия свободного дескриптора задач. Т.е. должно быть зарезервировано место под 5 задач (&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_TASKS&lt;/a&gt;&lt;/span&gt; = 5).
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task_Play &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    . . .
    &lt;span class=&quot;me1&quot;&gt;OS_Task_Create&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, Task_Record&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    OS_Task_Delete&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;this_task&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    . . .
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Фактически получается, что несколько байт (один дескриптор задачи) будут просто заняты под ничто. Чтобы этого избежать, есть системный сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_replace&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_replace&quot;&gt;OS_Task_Replace&lt;/a&gt;&lt;/span&gt;. Этот сервис удаляет текущую задачу, а на освободившееся место формирует новую. В нашем примере для диктофона это будет выглядеть так:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    . . .
    &lt;span class=&quot;me1&quot;&gt;OS_Task_Replace&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;, Task_Record&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    . . .&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Удаление задачи&quot; [7369-10952] --&gt;
&lt;h2&gt;&lt;a name=&quot;изменение_приоритета_задачи&quot; id=&quot;изменение_приоритета_задачи&quot;&gt;Изменение приоритета задачи&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Есть еще два системных сервиса для работы с приоритетом текущей задачи.

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Сервис  &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Описание &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Свойства &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; char &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getpriority&quot;&gt;OS_Task_GetPriority&lt;/a&gt;&lt;/span&gt; (tp) &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Возвращает приоритет задачи &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_setpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_setpriority&quot;&gt;OS_Task_SetPriority&lt;/a&gt;&lt;/span&gt; (tp, priority)&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Изменить приоритет задачи на &lt;em&gt;priority&lt;/em&gt;&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Изменение приоритета задачи&quot; [10953-11512] --&gt;
&lt;h2&gt;&lt;a name=&quot;локальные_переменные_в_задачах&quot; id=&quot;локальные_переменные_в_задачах&quot;&gt;Локальные переменные в задачах&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Все активные (созданные) задачи могут выполняться параллельно, поэтому следует помнить, что их локальные переменные могут пересекаться, следовательно, их значения могут быть потеряны после передачи управления системе. Если нужно, чтобы переменная помнила свое значение, то ее нужно определять как static. Например:
&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; Task1 &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw4&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; s_cCounter;  &lt;span class=&quot;co1&quot;&gt;// Эта переменная будет сохраняться&lt;/span&gt;
                           &lt;span class=&quot;co1&quot;&gt;// при переключении контекста.&lt;/span&gt;
  &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; i, j;               &lt;span class=&quot;co1&quot;&gt;// Эти переменные врЕменные, и их можно&lt;/span&gt;
                           &lt;span class=&quot;co1&quot;&gt;// использовать только в пределах одного&lt;/span&gt;
                           &lt;span class=&quot;co1&quot;&gt;// вызова задачи.&lt;/span&gt;
  . . .
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Локальные переменные в задачах&quot; [11513-12652] --&gt;
&lt;h2&gt;&lt;a name=&quot;все_сервисы_для_работы_с_задачами&quot; id=&quot;все_сервисы_для_работы_с_задачами&quot;&gt;Все сервисы для работы с задачами&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Сервис  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  Аргументы   &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  Описание  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  Свойства  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Создание/удаление&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_define&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_define&quot;&gt;OS_Task_Define&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(TaskName)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; &lt;strong&gt;Для CCS&lt;/strong&gt;: сообщает компилятору, что функция вызывается по указателю.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;strong&gt;main()&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_create&quot;&gt;OS_Task_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(priority, TaskName)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Инициализируем конкретную задачу.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_not_int.png?id=osa%3Aref%3Aservices%3Atasks&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_not_int.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_not_int.png&quot; class=&quot;media&quot; title=&quot;Нельзя вызывать из прерывания&quot; alt=&quot;Нельзя вызывать из прерывания&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_replace&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_replace&quot;&gt;OS_Task_Replace&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(priority, TaskName)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Заменить текущую задачу на новую.  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Atasks&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_delete&quot;&gt;OS_Task_Delete&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Удалить задачу  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Atasks&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;4&quot;&gt; &lt;strong&gt;Управление состоянием&lt;/strong&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_task_pointer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_TASK_POINTER&lt;/a&gt;&lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcur&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcur&quot;&gt;OS_Task_GetCur&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить указатель на дескриптор текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_task.png?id=osa%3Aref%3Aservices%3Atasks&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_task.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_task.png&quot; class=&quot;media&quot; title=&quot;Разрешен вызов только в контексте задачи&quot; alt=&quot;Разрешен вызов только в контексте задачи&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_task_pointer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_TASK_POINTER&lt;/a&gt;&lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getcreated&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getcreated&quot;&gt;OS_Task_GetCreated&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Получить указатель на дескриптор только что созданной задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_pause&quot;&gt;OS_Task_Pause&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Приостановить задачу  &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; &lt;a href=&quot;http://wiki.pic24.ru/lib/exe/detail.php/osa/ref/attr_call_ct_sw.png?id=osa%3Aref%3Aservices%3Atasks&quot; class=&quot;media&quot; title=&quot;osa:ref:attr_call_ct_sw.png&quot;&gt;&lt;img src=&quot;http://wiki.pic24.ru/lib/exe/fetch.php/osa/ref/attr_call_ct_sw.png&quot; class=&quot;media&quot; title=&quot;Переключает контекст&quot; alt=&quot;Переключает контекст&quot; /&gt;&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_continue&quot;&gt;OS_Task_Continue&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Продолжить выполнение ранее приостановленной задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;code&gt;char &lt;/code&gt;&lt;br/&gt;
 &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_getpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_getpriority&quot;&gt;OS_Task_GetPriority&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Возвращает приоритет текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_setpriority&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_setpriority&quot;&gt;OS_Task_SetPriority&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp, priority)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Изменить приоритет текущей задачи  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_task_ispaused&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_task_ispaused&quot;&gt;OS_Task_IsPaused&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;code&gt;(tp)&lt;/code&gt;  &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Проверить, приостановлена ли задача  &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Все сервисы для работы с задачами&quot; [12653-] --&gt;</description>
    </item>
    <item rdf:about="http://wiki.pic24.ru/doku.php/osa/ref/services/timers?rev=1295696994">
        <dc:format>text/html</dc:format>
        <dc:date>2011-01-22T14:49:54+03:00</dc:date>
        <title>OSA : Таймеры</title>
        <link>http://wiki.pic24.ru/doku.php/osa/ref/services/timers?rev=1295696994</link>
        <description>


&lt;h1&gt;&lt;a name=&quot;osa_таймеры&quot; id=&quot;osa_таймеры&quot;&gt;OSA : Таймеры&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;OSA : Таймеры&quot; [1-36] --&gt;
&lt;h2&gt;&lt;a name=&quot;введение&quot; id=&quot;введение&quot;&gt;Введение&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Таймеры служат для упрощения организации время-зависимых процессов. С их помощью можно выделять кванты времени работы задач или просто функций, не являющихся задачами, выдавать указания по времени работы другим задачам, наконец, просто для отсчета временных интервалов. Таймеры в OSA привязаны к системным тикам (периодам вызова &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;). При вызове &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; все активные таймеры увеличиваются на 1, а при переполнении какого-либо из них устанавливается соответствующий флаг переполнения.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Введение&quot; [37-1031] --&gt;
&lt;h2&gt;&lt;a name=&quot;типы_таймеров&quot; id=&quot;типы_таймеров&quot;&gt;Типы таймеров&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
OSA предоставляет возможность использования четырех типов таймеров: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; TTIMERS - &lt;a href=&quot;#таймеры_задач&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;таймеры задач&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; STIMERS - &lt;a href=&quot;#статические_таймеры&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;статические таймеры&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; QTIMERS - &lt;a href=&quot;#очередь_таймеров&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;очередь таймеров&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DTIMERS - &lt;a href=&quot;#динамические_таймеры&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;динамические таймеры&lt;/a&gt; (устаревшие)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;Почему так много и какой из них лучше? Читайте &lt;a href=&quot;#рекомендации_по_выбору_таймера&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;Рекомендации по выбору таймера&lt;/a&gt;.
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;p&gt;
Каждый из этих тймеров имеет свои преимущества и недостатки и, в зависимости от задачи, один тип таймера может оказаться эффективнее других. Ниже приведены особенности каждого типа таймеров.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Типы таймеров&quot; [1032-1954] --&gt;
&lt;h3&gt;&lt;a name=&quot;таймеры_задач&quot; id=&quot;таймеры_задач&quot;&gt;Таймеры задач&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;описание&quot; id=&quot;описание&quot;&gt;Описание&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Таймеры задач - это те счетчики, которые хранятся в дескрипторах задач и используются для формирования задержек (&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;) и ожидания событий с выходом по таймауту (&lt;acronym title=&quot;Operating System&quot;&gt;OS&lt;/acronym&gt;_xxx_Wait_TO). Раньше их функциональность этим ограничивалась. Начиная с версии 100210, появилась возможность использовать эти таймеры для второстепенных целей. Например, теперь можно инициализировать таймер и вызвать функцию, которая будет работать до тех пор, пока таймер не закончит счет.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;преимущества&quot; id=&quot;преимущества&quot;&gt;Преимущества&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Когда выполняется задержка с использованием этих таймеров (&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_delay&quot;&gt;OS_Delay&lt;/a&gt;&lt;/span&gt;() или &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_delay&quot;&gt;OS_Ttimer_Delay&lt;/a&gt;&lt;/span&gt;()), планировщик не рассматривает задачу, выполняющую задержку, что ускоряет его работу (при использовании других типов таймеров планировщик проверяет готовность задач);&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сервисы &lt;acronym title=&quot;Operating System&quot;&gt;OS&lt;/acronym&gt;_xxx_Wait_TO используют только эти таймеры&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;недостатки&quot; id=&quot;недостатки&quot;&gt;Недостатки&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Жесткая привязка: одна задача - один таймер;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; С таймерами можно работать только внутри функции-задачи или внутри функций, вызываемых задачей. Т.е. нельзя с ними работать из прерывания.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;использование&quot; id=&quot;использование&quot;&gt;Использование&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Определения в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt;:
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_TTIMERS&lt;/a&gt;&lt;/span&gt;         &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Для использования таймеров задач в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;osacfg.h&lt;/a&gt;&lt;/span&gt; должна быть определена эта константа.       &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_TTIMER_SIZE&lt;/a&gt;&lt;/span&gt;            &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Задает размерность таймеров: 1, 2 или 4 (по умолчанию 2).                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_TTIMERS_OPTIMIZE_SIZE&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Включает оптимизацию кода &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;() по размеру (по умолчанию код оптимизирован по скорости)  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_BANK_TASKS&lt;/a&gt;&lt;/span&gt;             &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Определяет банк памяти для хранения дескрипторов задач: 0, 1, 2 или 3 (по умолчанию 0)        &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Таймеры задач&quot; [1955-5009] --&gt;
&lt;h3&gt;&lt;a name=&quot;статические_таймеры&quot; id=&quot;статические_таймеры&quot;&gt;Статические таймеры&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;описание1&quot; id=&quot;описание1&quot;&gt;Описание&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Статические таймеры - это массив из &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMERS&lt;/a&gt;&lt;/span&gt; счетчиков размерностью &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMER_SIZE&lt;/a&gt;&lt;/span&gt; (обе константы задаются в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;osacfg.h&lt;/a&gt;&lt;/span&gt;). Для работы с ними сервисам нужно указывать ID - номер таймера (в виде целого числа). Старший бит счетчика используется для индикации его состояния: установлен - таймер считает, сброшен - таймер остановлен. Таким образом, сам счетчик таймера на 1 бит меньше разрядности переменной, в которой он содержится. Т.е., если &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMER_SIZE&lt;/a&gt;&lt;/span&gt; = 2 байта, то под счетчик выделяются только 15 бит. Статические таймеры самые компактные из всех. 
&lt;/p&gt;

&lt;p&gt;
Раньше назначение каждого статического таймера было предопределено с начала программы. Т.е. цель, с которой использовался таймер, должна была быть известна заранее, а следовательно - за каждым таймером закреплялся свой номер. Это было неудобно, т.к. возникали сложности с переносом модулей, использующих статические таймеры, в другие проекты. Начиная с версии 100210 появилась возможность назначать таймеры в ходе программы (см. ниже)
&lt;/p&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;преимущества1&quot; id=&quot;преимущества1&quot;&gt;Преимущества&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; компактные&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; быстрые &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;недостатки1&quot; id=&quot;недостатки1&quot;&gt;Недостатки&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; на этапе компиляции нужно знать, сколько таймеров может использоваться одновременно&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; максимально может быть использовано 64 таймера&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;использование1&quot; id=&quot;использование1&quot;&gt;Использование&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Определения в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt;:
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMERS&lt;/a&gt;&lt;/span&gt;                    &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Этой константой задается количество используемых в программе статических таймеров  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMER_SIZE&lt;/a&gt;&lt;/span&gt;                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Задает размерность таймеров: 1, 2 или 4 (по умолчанию 2)  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMERS_OPTIMIZE_SIZE&lt;/a&gt;&lt;/span&gt;      &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Включает оптимизацию кода &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;() по размеру (по умолчанию код оптимизирован по скорости)  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMERS_ENABLE_ALLOCATION&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Включает дополнительный код для назначения таймеров, а также доболнительный массив битов, отвечающих за занятость таймеров. Становятся доступны сервисы &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_alloc&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_alloc&quot;&gt;OS_Stimer_Alloc&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_free&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_free&quot;&gt;OS_Stimer_Free&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_found&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_found&quot;&gt;OS_Stimer_Found&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_BANK_STIMERS&lt;/a&gt;&lt;/span&gt;               &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Определяет банк памяти для хранения массива таймеров: 0, 1, 2 или 3 (по умолчанию 0)  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Со статическими таймерами можно работать двумя способами: 
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Получать ID таймеров в ходе выполнения программы. В этом случае немного увеличивается размер кода, а также выделяется по одному байту на каждую неполную восьмерку таймеров для хранения состояний (занят/свободен) таймеров&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Указывая ID таймеров в виде констант. В этом случае назначение каждого таймера и его ID должны быть определены на этапе компиляции&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;

Первый способ предпочтительнее, хотя и немного менее компактный и менее быстрый. Он позволяет переносить модули в другие проекты не заботясь о соблюдении нумерации таймеров.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Статические таймеры&quot; [5010-9999] --&gt;
&lt;h3&gt;&lt;a name=&quot;очередь_таймеров&quot; id=&quot;очередь_таймеров&quot;&gt;Очередь таймеров&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;описание2&quot; id=&quot;описание2&quot;&gt;Описание&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Этот тип таймеров введен с версии 100210. Все запускаемые таймеры выстраиваются в очередь так, что первым в ней стоит тот, которому считать меньше всех. Далее - в порядке возрастания оставшегося времени счета. Это позволяет очень быстро обрабатывать большое количество таймеров сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;(). При большом количество таймеров это существенно ускоряет работу &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;, что может оказаться незаменимым качеством при обработке таймеров в прерывании.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;1. Для PICC16 эти таймеры могут располагаться только в банках 0 и 1.&lt;br/&gt;
 2. Очередь таймеров не поддерживается в 12-разрядных контроллерах
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;преимущества2&quot; id=&quot;преимущества2&quot;&gt;Преимущества&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; может быть использовано столько таймеров, сколько влезает в память&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; высокая скорость обработки большого количества таймеров сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;()&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;недостатки2&quot; id=&quot;недостатки2&quot;&gt;Недостатки&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Каждый таймер помимо счетчика содержит еще два байта (или два слова для C30): флаги и указатель на следующий таймер&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Громоздкая функция, занимающаяся добавлением/удалением таймеров в очередь&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В зависимости от того, в какое место очереди добавляется таймер, время его добавления при большом количестве активных таймеров в очереди может затянуться на тысячи тактов.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;использование2&quot; id=&quot;использование2&quot;&gt;Использование&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Определения в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt;:
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_QTIMERS&lt;/a&gt;&lt;/span&gt;             &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Для использования очереди таймеров должна быть определена эта константа   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_QTIMER_SIZE&lt;/a&gt;&lt;/span&gt;                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Задает размерность таймеров: 1, 2 или 4 (по умолчанию 2)  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Таймеры определяются в программе как обычные переменные:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_QTIMER qt_1, qt_2;&lt;/pre&gt;
&lt;p&gt;
Перед работой с таймером он должен быть создан сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_create&quot;&gt;OS_Qtimer_Create&lt;/a&gt;&lt;/span&gt;. При запуске таймер добавляется в очередь, занимая в ней место в соответствии с длительностью счета. При каждом вызове &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;() происходит уменьшение на 1 только первого в очереди таймера (чем и объясняется высокая скорость обработки большого количества таймеров). Когда таймер досчитывает до 0, он удаляется из очереди и устанавливается его бит переполнения. 
&lt;/p&gt;

&lt;p&gt;
Например в очередь помещаются два таймера с временами счета 30 и 10 тиков:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    OS_Qtimer_Run&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;qt_1, &lt;span class=&quot;nu0&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;
    OS_Qtimer_Run&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;qt_2, &lt;span class=&quot;nu0&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;p&gt;
Сначала в начало пустой очереди поместится таймер qt_1 со временем счета = 30. Затем его потеснит новый таймер qt_2, он встанет в начало очереди, т.к. ему считать меньше. При этом время счета таймера qt_1 изменится с 30 на 20. Так происходит потому, что первые 10 тиков будет считать таймер qt_2, а qt_1 будет дожидаться своей очереди. Как только qt_2 досчитает и удалится из очереди, начнет уменьшаться qt_1, вставший на этот момент в начало очереди. 10 тиков уже отсчитаны и ему останется только 20. Если теперь будет запущен еще один таймер qt_3 со временем счета 100:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;    OS_Qtimer_Run&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;qt_3, &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;
&lt;p&gt;
то он поместится в конец очереди, а значение его счетчика будет уменьшено на значение первого в очереди, т.е. на 20. Т.е. реально в счетчик запишется значение 80.
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Очередь таймеров&quot; [10000-15294] --&gt;
&lt;h3&gt;&lt;a name=&quot;динамические_таймеры&quot; id=&quot;динамические_таймеры&quot;&gt;Динамические таймеры&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;описание3&quot; id=&quot;описание3&quot;&gt;Описание&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
(Устаревший, не рекомендуется к использованию). Динамические таймеры тоже выстраиваются в очередь, только они не сортируются по оставшемуся времени счета, а располагаются в ней в порядке добавления. При каждом вызове &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_TImer&lt;/a&gt;&lt;/span&gt; на 1 уменьшаются все счетчики, а учитывая, что это делается через косвенную адресацию, время их обработки может быть очень большим. 
&lt;/p&gt;

&lt;p&gt;
&lt;em class=&quot;u&quot;&gt;Важным свойством&lt;/em&gt; динамического таймера является то, что после переполнения он продолжает счет (в отличие от всех остальных, которые после переполнения останавливается). Это позволяет отсчитывать равные интервалы времени вне зависимости от того, в какой момент таймер обработан задачей. Например, таймер был запущен на отсчет интервала в 1 секунду. Секунда прошла (произошло переполнение таймера), а задача, ожидающая этот таймер, не смогла начать выполняться из-за того, что сейчас выполняется или готова к выполнению более приоритетная задача. В результате этого задача сможет обработать таймер только через некоторое время после его переполнения (например, через 100 мс). Но, обработав его, она вновь задает интервал счета в 1 секунду, и при этом учитывается, что уже прошло 100 мс. Поэтому следующее переполнение произойдет через 900 мс. Все остальные таймеры (и таймеры задач,  и статические таймеры, и очередь таймеров) останавливают счет после переполнения.
&lt;/p&gt;

&lt;p&gt;
&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;Для PICC16 эти таймеры могут располагаться только в банках 0 и 1.
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;преимущества3&quot; id=&quot;преимущества3&quot;&gt;Преимущества&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; продолжают счет после переполнения&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; может быть использовано столько таймеров, сколько влезает в память&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;недостатки3&quot; id=&quot;недостатки3&quot;&gt;Недостатки&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Очень медленно обрабатываются в &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Каждый таймер помимо счетчика содержит еще два байта (или два слова для C30): флаги и указатель на следующий таймер&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Требуются две дополнительные функции для добавления и удаления таймера из очереди&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;использование3&quot; id=&quot;использование3&quot;&gt;Использование&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;

Определения в файле &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OSAcfg.h&lt;/a&gt;&lt;/span&gt;:
&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_ENABLE_DTIMERS&lt;/a&gt;&lt;/span&gt;             &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Для использования динамических таймеров должна быть определена эта константа   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_DTIMER_SIZE&lt;/a&gt;&lt;/span&gt;                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Задает размерность таймеров: 1, 2 или 4 (по умолчанию 2)  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

Таймеры определяются в программе как обычные переменные:

&lt;/p&gt;
&lt;pre class=&quot;cpp code cpp&quot; style=&quot;font-family:monospace;&quot;&gt;OST_DTIMER dt_1, dt_2;&lt;/pre&gt;
&lt;p&gt;
Перед работой с таймером он должен быть создан сервисом &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_create&quot;&gt;OS_Qtimer_Create&lt;/a&gt;&lt;/span&gt; (это сразу же добавит его в очередь активных таймеров, но он еще не будет считать). После работы с таймером он должен быть удален из очереди, чтобы разгрузить функцию &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;() от ненужных действий над неиспользуемым таймером. Следует внимательно следить за тем, когда создаются таймеры, т.к. OSA не имеет механизма проверки того, что таймер уже присутствует в очереди.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Динамические таймеры&quot; [15295-20204] --&gt;
&lt;h2&gt;&lt;a name=&quot;максимальные_задержки&quot; id=&quot;максимальные_задержки&quot;&gt;Максимальные задержки&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

Здесь для удобства сведены максимально допустимые задержки (округлены в меньшую сторону) для наиболее часто используемых значений системного тика:

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Интервал вызова &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  1-байтовые  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  2-байтовые  &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  4-байтовые  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; Диапазон значений    &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  0-255     &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  0-65535  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  0-4294967295  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1 ms     &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  255 мс   &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  64 сек    &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  48 суток   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 10 ms    &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  2.4 сек  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  10 мин    &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  490 суток  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 18.2 ms  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  9.2 сек  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  18 мин    &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  900 суток  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 256 us   &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  130 мс   &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  16 сек    &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  12 суток   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1024 us  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  520 мс   &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  65 сек    &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  50 суток   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 8192 us  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  4 с      &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  8 мин     &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  400 суток  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

&lt;p&gt;&lt;div class=&quot;noteclassic&quot;&gt;Как уже было сказано, старший бит &lt;strong&gt;статического таймера&lt;/strong&gt; используется для индикации счета (если он =1, значит, таймер считает, если =0, - таймер остановлен или произошел таймаут), следовательно для статических таймеров все значения из таблицы должны быть поделены на 2.
&lt;/div&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Максимальные задержки&quot; [20205-21652] --&gt;
&lt;h2&gt;&lt;a name=&quot;сервисы_для_работы_с_таймерами&quot; id=&quot;сервисы_для_работы_с_таймерами&quot;&gt;Сервисы для работы с таймерами&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 centeralign&quot;&gt;  Назначение  &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  TTIMERS           &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  STIMERS               &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  DTIMERS              &lt;/th&gt;&lt;th class=&quot;col4 centeralign&quot;&gt;  QTIMERS          &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;5&quot;&gt;&lt;strong&gt;Создание/удаление&lt;/strong&gt;           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Создание        &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_alloc&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_alloc&quot;&gt;OS_Stimer_Alloc&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_create&quot;&gt;OS_Dtimer_Create&lt;/a&gt;&lt;/span&gt;       &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_create&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_create&quot;&gt;OS_Qtimer_Create&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Удаление        &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_free&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_free&quot;&gt;OS_Stimer_Free&lt;/a&gt;&lt;/span&gt;         &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_delete&quot;&gt;OS_Dtimer_Delete&lt;/a&gt;&lt;/span&gt;       &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_delete&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_delete&quot;&gt;OS_Qtimer_Delete&lt;/a&gt;&lt;/span&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;Поиск свободного&lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;                 &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_found&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_found&quot;&gt;OS_Stimer_Found&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;                       &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;5&quot;&gt;&lt;strong&gt;Работа&lt;/strong&gt;                                                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Запуск          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_run&quot;&gt;OS_Ttimer_Run&lt;/a&gt;&lt;/span&gt;      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_run&quot;&gt;OS_Stimer_Run&lt;/a&gt;&lt;/span&gt;          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_run&quot;&gt;OS_Dtimer_Run&lt;/a&gt;&lt;/span&gt;          &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_run&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_run&quot;&gt;OS_Qtimer_Run&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Остановка       &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_break&quot;&gt;OS_Ttimer_Break&lt;/a&gt;&lt;/span&gt;    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_break&quot;&gt;OS_Stimer_Break&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_break&quot;&gt;OS_Dtimer_Break&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_break&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_break&quot;&gt;OS_Qtimer_Break&lt;/a&gt;&lt;/span&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Задержка        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_delay&quot;&gt;OS_Ttimer_Delay&lt;/a&gt;&lt;/span&gt;    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_delay&quot;&gt;OS_Stimer_Delay&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_delay&quot;&gt;OS_Dtimer_Delay&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_delay&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_delay&quot;&gt;OS_Qtimer_Delay&lt;/a&gt;&lt;/span&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Ожидание        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_wait&quot;&gt;OS_Ttimer_Wait&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_wait&quot;&gt;OS_Stimer_Wait&lt;/a&gt;&lt;/span&gt;         &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_wait&quot;&gt;OS_Dtimer_Wait&lt;/a&gt;&lt;/span&gt;         &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_wait&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_wait&quot;&gt;OS_Qtimer_Wait&lt;/a&gt;&lt;/span&gt;    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;5&quot;&gt;&lt;strong&gt;Проверка состояния&lt;/strong&gt;                                       &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Был ли таймаут  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_check&quot;&gt;OS_Ttimer_Check&lt;/a&gt;&lt;/span&gt;    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_check&quot;&gt;OS_Stimer_Check&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_check&quot;&gt;OS_Dtimer_Check&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_check&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_check&quot;&gt;OS_Qtimer_Check&lt;/a&gt;&lt;/span&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Считает ли      &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_isrun&quot;&gt;OS_Ttimer_IsRun&lt;/a&gt;&lt;/span&gt;    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_isrun&quot;&gt;OS_Stimer_IsRun&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isrun&quot;&gt;OS_Dtimer_IsRun&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_isrun&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_isrun&quot;&gt;OS_Qtimer_IsRun&lt;/a&gt;&lt;/span&gt;   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;Текущее значение&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_get&quot;&gt;OS_Ttimer_Get&lt;/a&gt;&lt;/span&gt;      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_get&quot;&gt;OS_Stimer_Get&lt;/a&gt;&lt;/span&gt;          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_get&quot;&gt;OS_Dtimer_Get&lt;/a&gt;&lt;/span&gt;          &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_qtimer_get&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_qtimer_get&quot;&gt;OS_Qtimer_Get&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; colspan=&quot;5&quot;&gt;&lt;strong&gt;Дополнительно&lt;/strong&gt;                                            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Приостановить   &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_pause&quot;&gt;OS_Ttimer_Pause&lt;/a&gt;&lt;/span&gt;    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_pause&quot;&gt;OS_Stimer_Pause&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_pause&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_pause&quot;&gt;OS_Dtimer_Pause&lt;/a&gt;&lt;/span&gt;        &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Продолжить      &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_ttimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_ttimer_continue&quot;&gt;OS_Ttimer_Continue&lt;/a&gt;&lt;/span&gt; &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_stimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_stimer_continue&quot;&gt;OS_Stimer_Continue&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_continue&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_continue&quot;&gt;OS_Dtimer_Continue&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot; colspan=&quot;5&quot;&gt;+&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Активен ли      &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                       &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isactive&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isactive&quot;&gt;OS_Dtimer_IsActive&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Увеличить&lt;br/&gt;
 время счета  &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;          &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                       &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_add&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_add&quot;&gt;OS_Dtimer_Add&lt;/a&gt;&lt;/span&gt;          &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Приостановлен ли         &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;          &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                       &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_isstopped&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_isstopped&quot;&gt;OS_Dtimer_IsStopped&lt;/a&gt;&lt;/span&gt;     &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;Обновить&lt;br/&gt;
 время счета   &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;          &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                       &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_dtimer_update&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_dtimer_update&quot;&gt;OS_Dtimer_Update&lt;/a&gt;&lt;/span&gt;       &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;                   &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;div class=&quot;plugin_uparrow&quot;&gt;
  &lt;a href=&quot;#&quot; title=&quot;Наверх&quot;&gt;
    &lt;img src=&quot;http://wiki.pic24.ru/lib/plugins/uparrow/images/blue_arrow.png&quot; alt=&quot;Наверх&quot;/&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Сервисы для работы с таймерами&quot; [21653-26025] --&gt;
&lt;h2&gt;&lt;a name=&quot;рекомендации_по_выбору_таймера&quot; id=&quot;рекомендации_по_выбору_таймера&quot;&gt;Рекомендации по выбору таймера&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Рекомендации по выбору таймера&quot; [26026-26096] --&gt;
&lt;h3&gt;&lt;a name=&quot;почему_их_так_много&quot; id=&quot;почему_их_так_много&quot;&gt;Почему их так много?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Поддержка таймеров - очень важная характеристика ОС. Работа любого устройства, служащее человеку, должна соответствовать восприятию реальности самим человеком. Большинство процессов взаимодействия устройства с человеком, с другим устройством или с внешней средой являются времязависимыми. Когда мы нажимаем кнопку, устройство выполняет операции по подавлению дребезга, которые не могут выполниться очень быстро из-за механических особенностей контакта, а также не могут выполниться слишком медленно, чтобы соответствовать требованиям эргономики. Когда стиральная машина включает насос для забора воды, она не может его держать включенным вечно, если вода не поступает, но и не может при отсутствии поступления воды отключить его мгновенно, поскольку давление в трубах и длина шланга вносят некоторую инерционность. Когда мы подключаем одно устройство к другому (например, флеш-память к компьютеру), устройства должны установить связь или, если этого сделать не удалось, в течение какого-то времени повторять попытки с каким-то интервалом. И т.д. Другими словами устройство должно иметь возможность измерять время. Время, измеренное устройством, обычно дискретно, относительно и часто неравномерно, но, тем не менее, при таких характеристиках этого достаточно, чтобы удовлетворить наши потребности. 
&lt;/p&gt;

&lt;p&gt;
Таким образом, в устройствах, управляемых микроконтроллерами, программное обеспечение микроконтроллеров должно иметь возможность измерять время. Т.к. операция очень частая, то ее разумно вынести в отдельню библиотеку, чтобы каждый раз не писать подпрограммы управления замерами времени с нуля. Когда создавалась операционная система OSA, было принято решение снабдить ее механизмом отсчета времени. Изначально дескриптор каждой задачи имел свой счетчик, изменяемый во времени, который позволял формировать нужные задержки или прерывать ожидание событий, если они не наступали в течение какого-то времени. Эти счетчики я назвал &amp;quot;таймеры задач&amp;quot;, т.к. к каждой задаче был жестко привязан один счетчик. 
&lt;/p&gt;

&lt;p&gt;
Однако для большинства проектов требовались дополнительные таймеры, которые позволяли бы, во-первых, нескольким задачам получать доступ к одному и тому же таймеру, во-вторых, выполнять задержки задачам с помощью таймеров задач, не сбивая счет дополнительного таймера, и в-третьих, передавать таймеры в виде параметров функциям, работа которых также времязависима. Так в OSA были добавлены пользовательские таймеры (сейчас они переведены в статус устаревших и называются &lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/static_timers_old&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:static_timers_old&quot;&gt;Статические таймеры старого типа&lt;/a&gt;). Но работа с ними была довольно неудобной и местами утомительной, т.к. с целью экономии ресурсов контроллеров были применены не очень удачные с точки зрения удобства способы управления.
&lt;/p&gt;

&lt;p&gt;
Со временем эти таймеры пришлось заменить &lt;a href=&quot;#статический_таймеры&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;статическими таймерами&lt;/a&gt;, которые были менее гибкими, но более формализованными и понятными. Ранее в программе могли одновременно применяться пользовательские таймеры различных размерностей (8 бит, 16 бит, 24 бита и 32 бита), теперь на все статические таймеры выделена одна размерность. Но это позволило устранить путаницу с нумерацией и конфигурированием таймеров.
&lt;/p&gt;

&lt;p&gt;
Тем не менее оставалась сложность с переносом модулей из проекта в проект, т.к. при нем требовалось изменять конфигурацию ноовго проекта так, чтобы номер статического таймера, используемого в модуле, оказался незанятым, а количество таймеров, задаваемое в файле конфигурации, соответствовало количеству реально применяемых таймеров. Поэтому возникла необходимость добавить новый тип таймеров - &lt;a href=&quot;#динамические_таймеры&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;динамические таймеры&lt;/a&gt;. Их можно было определять, добавлять и удалять в ходе выполнения программы, они организовывались в виде однонаправленного списка, что было очень удобно, т.к. неиспользуемые можно было удалять или передавать другим задачам. Однако это удобство нивелировалось тем, что их обработка производилась через косвенную адресацию, т.е. занимало сравнительно большее время, а учитывая, что обработка таймеров (сервис &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;) чаще всего используется в прерывании, это накладывало ограничение на количество одновременно работающих таймеров. Например, для обработки 20 таймеров на PIC18 потребовалось бы почти 200 тактов (для сравнения для обработки 20 статических  - только 60).
&lt;/p&gt;

&lt;p&gt;
Со временем пришла идея заменить динамические таймеры &lt;a href=&quot;#очередь_таймеров&quot; title=&quot;osa:ref:services:timers &amp;crarr;&quot; class=&quot;wikilink1&quot;&gt;очередью таймеров&lt;/a&gt;. Смысл замены состоял в том, что в очереди вычисления производятся только над первым в порядке возрастания таймером, а все остальные внесены в очередь с поправкой на время самого младшего таймера. Т.е. все таймеры в хвосте очереди (т.е. все, кроме головного) содержат не фактическое время счета, а инкремент по отношению к предыдущему в очереди. Таймреы со значениями 10, 100, 150 и 280 хранятся в очереди в виде: 10, +90, +50, +130. Это позволило сильно ускорить обработку большого количества таймеров. Пускай в программе активны хоть 50 таймеров, один инкремен производится за 11 тактов (для PIC16). Правда, есть оговорка: это время увеличивается в вмомент переполнения, т.к. требуется произвести операции по удалению таймера из очереди. На этом, к сожалению, преимущества перед другими типами таймеров заканчиваются, т.к. по всем остальным характеристикам (скорость инициализации, используемая под таймеры RAM, используемая под функции обработки ROM) они сильно проигрывают остальным типам.
&lt;/p&gt;

&lt;p&gt;
Поэтому было принято решение доработать таймеры задач и статические таймеры. Для таймеров задач была добавлена возможность работать с ними в пользовательских целях (т.е. инициализировать время, а в произвольных местах задачи проверять таймауты), а также пользоваться ими из функций, не являющихся функциями-задачами (но обяательно вызванных из функций-задач). Для статических таймеров появилась возможность избавиться от жесткой привязки номеров таймеров. Т.е. появилась возможность назначать эти номера в ходе выполнения программы, что сильно упрощает перенос модулей в другие проекты (правда, ценой добавления двух функций, т.е. ценой ROM)
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Итак, большое количество типов таймеров - это результат эволюции OSA, усложненный совместимостью с программами, написанными с предыдущими версиями OSA.&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Почему их так много?&quot; [26097-37318] --&gt;
&lt;h3&gt;&lt;a name=&quot;какой_использовать&quot; id=&quot;какой_использовать&quot;&gt;Какой использовать?&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Реально для большинства проектов можно ограничится таймерами задач. Единственное их ограничение - невозможность отслеживать значение одного таймера двумя и более задачами. Но они вполне могут справиться с большинством возлагаемых на контроллер задач по контролю за временем. 
&lt;/p&gt;

&lt;p&gt;
Тем не менее, по указаным выше причинам (повторю: контроль одного таймера несколькими задачами; параллельный отсчет нескольких задержек одной задачей) иногда есть необходимость применить дополнительные таймеры. Учитывая, что со временем этих таймеров образовалось слишком много, возникает путаница и вопросы, какой лучше. Сразу скажу, что нет смысла применять несколько типов таймеров параллельно (таймеры задач - не в счет). Т.е. не нужно включать и статические и динамические и очередь только потому, что у каждого из них есть какие-то преимущества и для конкретной задачи подойдет именно такой, а не другой. Достаточно использовать таймер задач + один тип таймера из пользовательских. 
&lt;/p&gt;

&lt;p&gt;
На мой взгляд, учитывая то, что динамические таймеры медлительны, очередь таймеров прожорлива, а статические таймеры получили возможность назначаться в ходе выполнения программы, я бы советовал использовать именно &lt;strong&gt;статические таймеры&lt;/strong&gt;. Динамические уже устарели, а очередь есть смысл применять только в одном случае: когда в программе используется большое количество таймеров. В добавок можно сказать, что иногда с целью экономии ресурсов можно отказаться от таймеров задач в пользу статических таймеров. Например в программе есть 5 задач, а таймер нужен только двум из них. Получается, что 6 байт (3 таймера по 2 байта) будут висеть мертвым грузом. В таком случае есть смысл отключить таймеры задач (вернее, не включать их), а использовать 2 статических таймера. 
&lt;/p&gt;

&lt;p&gt;
Что можно хорошего сказать о динамических таймерах, т.е. почему я их окончательно не перевел в устаревшие? У них есть одно преимущество, которое иногда может оказаться полезным: они продолжают счет даже после переполнения, что позволяет отмерять серию временных интервалов более точно без потерь на ожидание задачи стать готовой с высшим приоритетом.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Какой использовать?&quot; [37319-41177] --&gt;
&lt;h3&gt;&lt;a name=&quot;пример_для_picc18&quot; id=&quot;пример_для_picc18&quot;&gt;Пример для PICC18&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

Выбор типа таймеров должен быть сделан исходя из возлагаемых на них задач, их количества, частоты переполнения. Ниже я для примера привел таблицу, в которой постарался описать формулу вычисления ресурсопотребления. Для примера я рассмотрел результаты, полученные для PICC18 при размерности таймеров = 2 байта (результаты для других компиляторов будут отличаться, но общая картина останется такой же).

&lt;/p&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 rightalign&quot;&gt;                      &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot; colspan=&quot;2&quot;&gt;  TTIMERS                                   &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot; colspan=&quot;2&quot;&gt;  STIMERS                                &lt;/th&gt;&lt;th class=&quot;col5 centeralign&quot;&gt;  DTIMERS        &lt;/th&gt;&lt;th class=&quot;col6 centeralign&quot;&gt;  QTIMERS    &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0 rightalign&quot;&gt;                      &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  (speed)*            &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  (size)*             &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  (speed)*            &lt;/th&gt;&lt;th class=&quot;col4 centeralign&quot;&gt;  (size)*          &lt;/th&gt;&lt;th class=&quot;col5 rightalign&quot;&gt;                 &lt;/th&gt;&lt;th class=&quot;col6 rightalign&quot;&gt;             &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;ROM&lt;/strong&gt;, words       &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*6+30          &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  57                  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*4 (+60)* *     &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;    14 (+60)* *     &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  74             &lt;/td&gt;&lt;td class=&quot;col6 centeralign&quot;&gt;  482        &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;RAM&lt;/strong&gt;, bytes       &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot; colspan=&quot;2&quot;&gt;  &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*2                                   &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot; colspan=&quot;2&quot;&gt;  t*2 (+t/8)* *                           &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot; colspan=&quot;2&quot;&gt;  &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*4+2                   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;, cycles &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*4+&lt;span class=&quot;important&quot;&gt;To&lt;/span&gt;*1 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*15+&lt;span class=&quot;important&quot;&gt;Ta&lt;/span&gt;*6+&lt;span class=&quot;important&quot;&gt;To&lt;/span&gt;*2+4 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*3+&lt;span class=&quot;important&quot;&gt;Ta&lt;/span&gt;*1 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*8+&lt;span class=&quot;important&quot;&gt;Ta&lt;/span&gt;*3+3 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt;*9+&lt;span class=&quot;important&quot;&gt;Ta&lt;/span&gt;*13+5 &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt; 17+&lt;span class=&quot;important&quot;&gt;To&lt;/span&gt;*22 &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;
* - таймеры задач и статические таймеры можно оптимизировать по скорости (по умолчанию) или по объему ROM, включив в файл конфигурации константы &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_TTIMERS_OPTIMIZE_SIZE&lt;/a&gt;&lt;/span&gt; или &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/appendix/configuration&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:appendix:configuration&quot;&gt;OS_STIMERS_OPTIMIZE_SIZE&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;
 
* * - при включенном механизме распределения статических таймеров добавляется 60 слов ROM и по 1 байту RAM на каждую неполную восьмерку таймеров
&lt;/p&gt;

&lt;p&gt;
Здесь:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;t&lt;/span&gt; - общее количество таймеров данного типа в программе&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;Ta&lt;/span&gt; - количество активных (считающих в данный момент) таймеров&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;span class=&quot;important&quot;&gt;To&lt;/span&gt; - количество таймеров, которые на данном этапе переполняются&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Т.к. в таблице фигурируют три переменных, то и выбирать тип таймера нужно по трем параметрам: общее количество таймеров, количество активных таймеров и частота переполнений. Что-такое &lt;strong&gt;общее количество таймеров&lt;/strong&gt;, понятно, - это сколько их всего присутствует в программе (например определено 12 переменных типа &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_dtimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_DTIMER&lt;/a&gt;&lt;/span&gt;, следовательно, t = 12); &lt;strong&gt;количество активных таймеров&lt;/strong&gt; - это сколько таймеров считают в данный момент. Например, при 12 определенных переменных типа &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/description/data_types#ost_dtimer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:description:data_types&quot;&gt;OST_DTIMER&lt;/a&gt;&lt;/span&gt; мы в список работающих добавили только 2 (в этом случае Ta=2); &lt;strong&gt;частота переполнения&lt;/strong&gt; - это как часто таймеры будут досчитывать до 0, т.е. до момента, когда &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;, помимо умешьшения счетчика таймера, должен будет еще установить бит переполнения (а в случаях с QTIMER еще и удалить таймер из очереди). Но этот параметр в виде частоты усложнит формулу, поэтому я ограничился параметром To, который показывает мгновенное (т.е. на текущее выполнение сервиса &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;) количество таймеров, которые переполняются одновременно.
&lt;/p&gt;

&lt;p&gt;
Окончательный выбор таймера зависит от критерия, по которому мы будет оптимизировать программу. Например, если требуется экономия RAM, то желательно выбирать статические таймеры; если при большом количестве таймеров требуется высокая скорость их обработки, - очередь таймеров. Ниже приведен пример расчета ресурсов, занимаемых пятью таймерами и пятьюдесятью.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;количество_таймеров_5&quot; id=&quot;количество_таймеров_5&quot;&gt;Количество таймеров = 5&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 rightalign&quot;&gt;                                        &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot; colspan=&quot;2&quot;&gt;  TTIMERS                      &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot; colspan=&quot;2&quot;&gt;  STIMERS                      &lt;/th&gt;&lt;th class=&quot;col5 centeralign&quot;&gt;  DTIMERS        &lt;/th&gt;&lt;th class=&quot;col6 centeralign&quot;&gt;  QTIMERS    &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0 rightalign&quot;&gt;                                        &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  (Speed)        &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  (size)      &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  (speed)        &lt;/th&gt;&lt;th class=&quot;col4 centeralign&quot;&gt;  (size)      &lt;/th&gt;&lt;th class=&quot;col5 rightalign&quot;&gt;                 &lt;/th&gt;&lt;th class=&quot;col6 rightalign&quot;&gt;             &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;ROM&lt;/strong&gt;, words                         &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  60             &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  57          &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  80             &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;    74        &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  74             &lt;/td&gt;&lt;td class=&quot;col6 centeralign&quot;&gt;  482        &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;RAM&lt;/strong&gt;, bytes                         &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot; colspan=&quot;2&quot;&gt;  10                           &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot; colspan=&quot;2&quot;&gt;  11                           &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot; colspan=&quot;2&quot;&gt;  22                          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;,&lt;br/&gt;
 cycles min/cycles max* &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;  20 (25)  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;  109 (119)  &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;  20 (20)  &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;  58 (58)  &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;  50 (115)  &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;  17 (127)  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

* - отмечено время выполнения &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; без переполнений (т.е. все таймеры уменьшились на 1, но ни один не досчитал до нуля), в скобках отмечено максимальное время выполнения, когда все таймеры переполнились одновременно (переполнения возникают тем чаще, чем меньшие значения загружаются в таймер)
&lt;/p&gt;

&lt;p&gt;
Как видно из таблицы, самыми компактными по объему кода и по использованию RAM являются таймеры задач и статические таймеры. По скорости примерно равны таймеры задач и статические таймеры с оптимизацией по скорости, а также очередь таймеров. В данном случае выбор очевиден в пользу таймеров задач или статических с оптимизацией по скорости.
&lt;/p&gt;

&lt;p&gt;
Также хочу обратить внимание, что оптимизация статических таймеров и таймеров задач по объему кода неэффективна при маленьком количестве таймеров. Как видно, при 5 таймерах объем используемой ROM почти равен, зато заметен проигрыш в скорости при использовании оптимизации по объему. 
&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;important&quot;&gt;В общем, из таблицы видно, что при малом количестве таймеров проблема выбора типа таймера неактуальна.&lt;/span&gt; Можно выбирать любой (разве что только QTIMERS в заментом проигрыше из-за большого объема используемой ROM).
&lt;/p&gt;

&lt;/div&gt;

&lt;h5&gt;&lt;a name=&quot;количество_таймеров_50&quot; id=&quot;количество_таймеров_50&quot;&gt;Количество таймеров = 50&lt;/a&gt;&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 rightalign&quot;&gt;                                        &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot; colspan=&quot;2&quot;&gt;  TTIMERS                       &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot; colspan=&quot;2&quot;&gt;  STIMERS                      &lt;/th&gt;&lt;th class=&quot;col5 centeralign&quot;&gt;  DTIMERS        &lt;/th&gt;&lt;th class=&quot;col6 centeralign&quot;&gt;  QTIMERS    &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;th class=&quot;col0 rightalign&quot;&gt;                                        &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  (Speed)        &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  (size)       &lt;/th&gt;&lt;th class=&quot;col3 centeralign&quot;&gt;  (speed)        &lt;/th&gt;&lt;th class=&quot;col4 centeralign&quot;&gt;  (size)      &lt;/th&gt;&lt;th class=&quot;col5 rightalign&quot;&gt;                 &lt;/th&gt;&lt;th class=&quot;col6 rightalign&quot;&gt;             &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;ROM&lt;/strong&gt;, words                         &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  330            &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  57           &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  260            &lt;/td&gt;&lt;td class=&quot;col4 centeralign&quot;&gt;    74        &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot;&gt;  74             &lt;/td&gt;&lt;td class=&quot;col6 centeralign&quot;&gt;  482        &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; &lt;strong&gt;RAM&lt;/strong&gt;, bytes                         &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot; colspan=&quot;2&quot;&gt;  100                           &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot; colspan=&quot;2&quot;&gt;  107                          &lt;/td&gt;&lt;td class=&quot;col5 centeralign&quot; colspan=&quot;2&quot;&gt;  202                         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; &lt;strong&gt;&lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;,&lt;br/&gt;
 cycles min/cycles max* &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;  200 (250)  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;  1054 (1154)  &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;  200 (200)  &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;  553 (553)  &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;  1105  &lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;  17 (1122)  &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;

* - отмечено время выполнения &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; без переполнений (т.е. все таймеры уменьшились на 1, но ни один не досчитал до нуля), в скобках отмечено максимальное время выполнения, когда все таймеры переполнились одновременно (переполнения возникают тем чаще, чем меньшие значения загружаются в таймер)
&lt;/p&gt;

&lt;p&gt;
Теперь видно, что правильный выбор типа таймера и режима его работы сэкономит нам какой-нибудь ресурс. Например видно, что самый экономный по ROM и RAM - таймер задач с оптимизацией по объему. Но он сильно проигрывает по скорости, будет расточительством при каждом вызове &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; зависать в прерывании на тысячу тактов. Зато мы видим, что очередь таймеров считает так же быстро, как и при малом количестве таймеров. Есть одно &amp;quot;но&amp;quot;, я уже о нем упоминал: когда первый в очереди таймер переполняется, операции по его удалению займут время. Поэтому, чем реже переполняются таймеры, тем быстрее будет среднее время выполнения &lt;span class=&quot;important&quot;&gt;&lt;a href=&quot;http://wiki.pic24.ru/doku.php/osa/ref/allservices/os_timer&quot; class=&quot;wikilink1&quot; title=&quot;osa:ref:allservices:os_timer&quot;&gt;OS_Timer&lt;/a&gt;&lt;/span&gt; (другими словами, если предполагается использование таймеров для отсчета небольших интервалов, то очередь может оказаться не такой эффективной).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Пример для PICC18&quot; [41178-] --&gt;</description>
    </item>
</rdf:RDF>
