<?xml version="1.0" encoding="gbk"?>
<rss version="2.0">
  <channel>
    <title>曲径通幽论坛 - 『uC/OS-II』</title>
    <link>http://www.groad.net/bbs/forum.php?mod=forumdisplay&amp;fid=27</link>
    <description>Latest 20 threads of 『uC/OS-II』</description>
    <copyright>Copyright(C) 曲径通幽论坛</copyright>
    <generator>Discuz! Board by Comsenz Inc.</generator>
    <lastBuildDate>Fri, 10 Apr 2026 20:17:43 +0000</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>http://www.groad.net/bbs/static/image/common/logo_88_31.gif</url>
      <title>曲径通幽论坛</title>
      <link>http://www.groad.net/bbs/</link>
    </image>
    <item>
      <title>求助</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=1395</link>
      <description><![CDATA[以下是uC/OS-II中OSMemCreate()中的部分语句，望大家指点：

    void     **plink;

   plink = (void **)addr;                            /* Create linked list of free memory blocks      */
   pblk  = (INT8U *)((INT32U)addr + blksize);
    for (i = 0; i &lt; ...]]></description>
      <category>『uC/OS-II』</category>
      <author>ustc466</author>
      <pubDate>Wed, 02 Dec 2009 07:08:53 +0000</pubDate>
    </item>
    <item>
      <title>实例：信号量集的简单应用</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=717</link>
      <description><![CDATA[目的：熟悉信号量集的基本应用
代码：]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 18:03:55 +0000</pubDate>
    </item>
    <item>
      <title>实例：消息队列简单应用</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=716</link>
      <description><![CDATA[目的：熟悉消息队列的简单应用
代码：]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 18:02:58 +0000</pubDate>
    </item>
    <item>
      <title>实例：优先级反转</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=715</link>
      <description><![CDATA[使用信号量的任务是否能够运行是受到任务的优先级别以及是否占用信号量两个条件约束的，而信号量的约束高于优先级别的约束。&#160;&#160;&#160;&#160;&#160;于是，当出现地优先级别的任务与高优先级别的任务使用同一个信号量时，而系统中还存在其他中等优先级的任务时， ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 18:01:48 +0000</pubDate>
    </item>
    <item>
      <title>实例：信号量的使用</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=714</link>
      <description><![CDATA[功能：任务一和任务二都可以调用函数Fun()，但不能同时调用
目的：熟悉信号量的使用
代码：

注：程序在 windows　的虚拟环境下有时会产生错误，可能是和某些驱动程序相冲突了。在纯DOS环境下可以稳定运行。运行效果图：]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:59:36 +0000</pubDate>
    </item>
    <item>
      <title>实例：简单的任务间收发信息</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=713</link>
      <description><![CDATA[功能：简单的任务间收发信息
目的：熟悉任务间的简单通讯
测试代码：]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:57:38 +0000</pubDate>
    </item>
    <item>
      <title>实例：任务的请求删除和被删除</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=712</link>
      <description><![CDATA[功能：任务A请求删除任务B，任务B然后删除自己
目的：熟悉OSTaskDelReq() 和 OSTasKDel() 函数的原理及使用
仍然利用“在任务中创建一个新任务”这里的代码，下面是附加代码：
1、在 DispCharM 中

2、在 DispCharY 中：
 
小结：OSTaskDelReq() 是需要在请求删除和被删 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:56:34 +0000</pubDate>
    </item>
    <item>
      <title>实例：改变任务的优先级</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=711</link>
      <description><![CDATA[功能：更改一个任务的优先级(自己或者别人）
目的：熟悉此函数的应用
相关代码改自“从一个任务新建一个新的任务”：
 
OSTaskChangePrio()原型：
OSTaskChangePrio( INT8U oldprio, INT8U newprio );
此函数可以更改自己以及别的任务的优先级。上面的代码表示如果修改 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:54:25 +0000</pubDate>
    </item>
    <item>
      <title>实例：任务调度器的加锁和解锁</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=710</link>
      <description><![CDATA[功能：让 DispCharM 运行10次时进行调度器加锁，运行到第30次时进行解锁，此后计数器清零循环
目的：熟悉这两个功能的应用
代码：修改自“在任务中创建一个新的任务”。附加代码如下：

效果图见下：

由于在 DispCharM 中调用了任务调度锁定函数，故在没有解锁这段时间 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:52:45 +0000</pubDate>
    </item>
    <item>
      <title>实例：挂起任务和恢复任务</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=709</link>
      <description><![CDATA[功能：在“一个任务中创建一个新任务”中设定在 DispCharY 任务运行 20 次后挂起任务 DispCharM；在DispCharY 运行 40次后，恢复任务。
目的：熟悉任务挂起和恢复函数的使用
在DispCharY中 for(;;) 开头所要添加的代码：

由此可见，一个低优先级的任务是可以挂起一个高 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:50:45 +0000</pubDate>
    </item>
    <item>
      <title>实例：在任务中创建一个新的任务</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=708</link>
      <description><![CDATA[功能：在任务中创建一个新的任务，第一个任务显示M字母，第二个任务显示Y字母，每隔1s轮流现实
目的：熟悉在任务中创建一个新的任务
程序代码：]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:49:46 +0000</pubDate>
    </item>
    <item>
      <title>uc/os-ii的任务堆栈初始化</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=707</link>
      <description><![CDATA[在建立一个任务时，需要进行堆栈初始化，将堆栈初始化看起来好像是刚刚发生过中断一样。在被初始化的堆栈中，分为 4 个部分，分别是：
模仿 PUSH DS 和 PUSH ES
模仿 PUSHA
模仿 中断( push PSW,&#160;&#160; push SEG task,&#160; push OFF task )
模仿任务 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:48:28 +0000</pubDate>
    </item>
    <item>
      <title>OSTaskDelReq()</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=706</link>
      <description><![CDATA[一、发出删除任务请求的任务和打算被时删除的任务都必须调用 OSTaskDelReq() 函数
请求删除其他任务的任务，设为 Task-1；要被删除的任务，设为 Task-2
 
Task-1 确定要删除 Task-2，那么Tak-1 发出删除请求：OSTaskDelReq( TASK_TO_DEL_PRIO)，其中 TASK_TO_DEL_PRIO&amp;# ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:46:24 +0000</pubDate>
    </item>
    <item>
      <title>建立uc/os-ii任务</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=705</link>
      <description><![CDATA[任务一：
任务功能：每隔 1s 就在屏幕上显示一个大写字母 \'M\'，显示完后清屏，继续循环显示。
目的：初步应用 uc/os-ii，掌握任务建立的基本流程。
任务代码：]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:45:38 +0000</pubDate>
    </item>
    <item>
      <title>uc/os-ii 编译相关</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=704</link>
      <description><![CDATA[一、准备工具
BC4.5 和 TASM.exe
安装 BC4.5 后在其 BIN 目录下是没有 TASM.EXE 的，所以只好在网上找了个 TASM5 安装后提取了TASM.exe。然后将TASM.EXE 拷贝到 BC4.5 的 BIN 目录下,然后设置环境变量，编辑 PATH ，在其后添加\&quot;d:\\bc45\\bin\\tasm.exe;\&quot;。以前我说不用设 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:44:54 +0000</pubDate>
    </item>
    <item>
      <title>PC_ElapsedStart() &amp; PC_ElapsedStop()</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=703</link>
      <description><![CDATA[一、PC_ElapsedStart()
功能：配置相关的寄存器并启动 Timer #2
 
二、PC_ElapsedStop()功能：计算
代码：计算逝去的时间


说明：PC_ElapsedStart() 与 PC_ElapsedStop() 函数联合使用，可以测量程序代码的执行时间。在调用PC_ElapsedStart() 或 PC_ElapsedStop()之前 ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:44:20 +0000</pubDate>
    </item>
    <item>
      <title>PC_DOSSaveReturn() &amp; PC_DOSReturn()</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=701</link>
      <description><![CDATA[一、作用
PC_DOSSaveReturn() 保存当前的 DOS 环境，可以使用户返回到没有运行 uC/OS-II 之前的环境。
PC_DOSReturn() 调用此函数就是确定要返回 DOS 了。
二、PC_DOSSaveReturn() 代码：
 
PC_DOSReturn() 代码：
 
三、setjmp() 与 longjmp()
setjmp() 和 longjmp()  ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:41:00 +0000</pubDate>
    </item>
    <item>
      <title>PC_VectSet &amp; PC_VectGet</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=700</link>
      <description><![CDATA[一、功能
安装中中断向量
二、代码：
 
说明：
unsigned FP_OFF(void far *farptr)---用来取远指针farptr的偏移量 
unsigned FP_SEG(void far *farptr) ---用来没置远指针farptr的段值 
void far *MK_FP(unsigned seg,unsigned off)---根据段seg和偏移量off构造一个far ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:39:37 +0000</pubDate>
    </item>
    <item>
      <title>PC_SetTickRate</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=699</link>
      <description><![CDATA[一、功能
这个函数通过设置 PC 上的 8254 芯片，以产生所需要的溢出频率。
二、代码如下：
 
三、说明：
1、装载计数值计算公式：
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&amp;# ...]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 17:38:11 +0000</pubDate>
    </item>
    <item>
      <title>OSInit|OS_InitMisc()|OS_InitRdyList()</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=696</link>
      <description><![CDATA[相关函数：
OS_InitMisc()&#160;
OS_InitRdyList()
OS_InitTCBList()&#160;&#160;&#160;&#160;&#160;&#160; 
[hr]]]></description>
      <category>『uC/OS-II』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2009 16:19:16 +0000</pubDate>
    </item>
  </channel>
</rss>