维库电子市场网
登录 免费注册 首页 | 行业黑名单 | 委托交易 | 帮助 | English
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

一个uc/os-ii的初级应用问题?

作者:c51单片机 栏目:嵌入式系统
一个uc/os-ii的初级应用问题?
 
2楼: >>参与讨论
c51单片机
问题
今天我在uc/os-ii上搞一个走马灯任务(只有一个任务)怎么做也做不不通,请大家帮忙,其程序如下:
void  TestTask1(void *os_pdata) reentrant
  {
    os_pdata = os_pdata;
    InitTick();
    while(1)
    {
    P1=0xfe;
  OSTimeDlyHMSM(0,0,1,0);  //延时挂起
  P1=P1<<0x01;

    }
}
怎么程序不能执行到:P1=P1<<0x01;呢?
延时挂起后,超时后应该执行到P1=P1<<0x01;的呀?


3楼: >>参与讨论
ping111
不行的。
延时挂起后,就会去执行其它任务,怎么会继续执行下去呢?
就算没有其它任务,也只能是这个任务从头再来。
而且流水线的话 P1=0xfe;应该在外面初始化。


4楼: >>参与讨论
yifenqian
任务挂起恢复执行后是从任务的开始处执行么
任务挂起恢复执行后是从任务的开始处执行么?我的理解是重挂起的时候往下执行

5楼: >>参与讨论
C51单片机
我以为挂起后,返回时执行下一条指令
是,P1=0xfe是应该放在外面的。
我以为延时挂起就像调用延时子程序那样!我再试试。谢谢!

6楼: >>参与讨论
andyzhenyu
keyi
应该是接着继续执行的,我测试过的

7楼: >>参与讨论
c51单片机

我昨天也是测试了。到时后继续执行下一条指令。但是我写写51的RAM后,没有什么反应,好像51没有运行?是不是51不能uc/os-ii呀?我剪载后的代码只5K多呀!

8楼: >>参与讨论
dahanzk
标准51的代码长度只有4K
 
9楼: >>参与讨论
eleven11
呵呵,楼主,你的堆栈空间不够
无法恢复寄存器,这种问题新手碰得最多了,哈哈

10楼: >>参与讨论
c51单片机
不会吧?
eleven11,那该怎么办呀?

参与讨论
昵称:
讨论内容:
 
 
相关帖子
我的嵌入式之路
用与不用RTOS,RTOS可靠吗?
SD 卡文件格式使用哪种比较好?
ucos 中OS_Sched函数的疑问
有没有方法单独测试ARM9的MMU和Cache?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号