{"id":18925,"date":"2024-03-15T17:51:22","date_gmt":"2024-03-15T17:51:22","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/"},"modified":"2024-03-21T14:28:26","modified_gmt":"2024-03-21T14:28:26","slug":"how-can-the-current-task-be-suspended-in-ucos","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/","title":{"rendered":"How can the current task be suspended in ucos?"},"content":{"rendered":"<p>In uCOS, it is possible to suspend the current task using the function OSTaskSuspend(). The prototype of this function is:<\/p>\n<pre class=\"post-pre\"><code>void OSTaskSuspend (OS_TCB *ptcb, OS_ERR *perr);\r\n<\/code><\/pre>\n<p>In this case, ptcb is a pointer to the task control block (TCB) that indicates the task to be suspended. Passing NULL as a parameter suspends the current task. perr is a pointer to an error code, used to return the result of the function execution.<\/p>\n<p>Here is an example code using the OSTaskSuspend() function to suspend the current task.<\/p>\n<pre class=\"post-pre\"><code>void TaskA (void *p_arg)\r\n{\r\n    \/\/ \u6267\u884c\u4efb\u52a1A\u7684\u64cd\u4f5c\r\n    \r\n    \/\/ \u6302\u8d77\u5f53\u524d\u4efb\u52a1\r\n    OSTaskSuspend(NULL, &amp;err);\r\n    \r\n    \/\/ \u4efb\u52a1A\u7684\u5176\u4ed6\u64cd\u4f5c\r\n}\r\n\r\nvoid main (void)\r\n{\r\n    \/\/ \u521d\u59cb\u5316uCOS\r\n    \r\n    \/\/ \u521b\u5efa\u4efb\u52a1A\r\n    \r\n    \/\/ \u542f\u52a8\u4efb\u52a1\u8c03\u5ea6\r\n    \r\n    while (1) {\r\n        \/\/ \u4e3b\u5faa\u73af\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the example code above, when Task A reaches OSTaskSuspend(NULL, &#038;err), the current task will be suspended and other tasks will be executed or it will wait for events to occur. The suspended task can be resumed by other tasks or interrupts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In uCOS, it is possible to suspend the current task using the function OSTaskSuspend(). The prototype of this function is: void OSTaskSuspend (OS_TCB *ptcb, OS_ERR *perr); In this case, ptcb is a pointer to the task control block (TCB) that indicates the task to be suspended. Passing NULL as a parameter suspends the current task. [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-18925","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How can the current task be suspended in ucos? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can the current task be suspended in ucos?\" \/>\n<meta property=\"og:description\" content=\"In uCOS, it is possible to suspend the current task using the function OSTaskSuspend(). The prototype of this function is: void OSTaskSuspend (OS_TCB *ptcb, OS_ERR *perr); In this case, ptcb is a pointer to the task control block (TCB) that indicates the task to be suspended. Passing NULL as a parameter suspends the current task. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T17:51:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T14:28:26+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How can the current task be suspended in ucos?\",\"datePublished\":\"2024-03-15T17:51:22+00:00\",\"dateModified\":\"2024-03-21T14:28:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\"},\"wordCount\":132,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\",\"name\":\"How can the current task be suspended in ucos? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T17:51:22+00:00\",\"dateModified\":\"2024-03-21T14:28:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can the current task be suspended in ucos?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How can the current task be suspended in ucos? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/","og_locale":"en_US","og_type":"article","og_title":"How can the current task be suspended in ucos?","og_description":"In uCOS, it is possible to suspend the current task using the function OSTaskSuspend(). The prototype of this function is: void OSTaskSuspend (OS_TCB *ptcb, OS_ERR *perr); In this case, ptcb is a pointer to the task control block (TCB) that indicates the task to be suspended. Passing NULL as a parameter suspends the current task. [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T17:51:22+00:00","article_modified_time":"2024-03-21T14:28:26+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How can the current task be suspended in ucos?","datePublished":"2024-03-15T17:51:22+00:00","dateModified":"2024-03-21T14:28:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/"},"wordCount":132,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/","name":"How can the current task be suspended in ucos? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T17:51:22+00:00","dateModified":"2024-03-21T14:28:26+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-the-current-task-be-suspended-in-ucos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can the current task be suspended in ucos?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=18925"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18925\/revisions"}],"predecessor-version":[{"id":52637,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18925\/revisions\/52637"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=18925"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=18925"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=18925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}