这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » zhuzilinux MCU DIY进程帖

共13条 2/2 1 2 跳转至
助工
2012-01-07 10:50:55     打赏
11楼

助工
2012-01-11 20:26:05     打赏
12楼

RTX51移植:RTX51+流水灯
(与通常只亮一个的流水灯效果相反,只灭一个)
 #include /* RTX-51 tiny functions & defines */
 #include #define uchar unsigned char
 #define uint unsigned int
long counter0; /* counter for task 0 */ 
long counter1; /* counter for task 1 */
 void delay(uint z); 
void led(); /* led function:connectted P1 port */ /******************************************************************************/
 /* Task 0 'job0': RTX-51 tiny starts execution with task 0 */ /******************************************************************************/ 
job0 () _task_ 0  {                 
  os_create_task (1);                 /* start task 1                         */

  while (1)  {                        /* endless loop                         */
    led();                            /* call function led()                  */
  }
} /******************************************************************************/ /* 
Task 1 'job1': RTX-51 tiny starts this task with os_create_task (1) */
 /* nothing but just increment counter 1 */ /******************************************************************************/
job1 () _task_ 1  {
  while (1)  {                        /* endless loop                         */
    counter1++;                       /* increment counter 1                  */
  }
} /******************************************************************************/ /*
 function 1: RTX-51 tiny starts this function with task0 */ /******************************************************************************/
 void led()
 { uchar num,dat1; delay(500); P0=0; 
while(1)
 { dat1=0x01; 
  for(num=0;num<7;num++)
  {
   P1=dat1;         /*   初始化赋值                        */
   dat1=dat1<<1;       /*   右移一位                          */
   delay(500);              /*   delay some time                   */
  }  /******************************************************************************/ /*
 function 2: delay function */ /******************************************************************************/ 
void delay(uint z) { uchar j; for(z;z0;z--) for(j=200;j0;j--); }


助工
2012-01-11 20:57:40     打赏
13楼
板子是最近刚焊的,只焊接了部分器件,将RTX51 tiny移植上,开两个小任务跑一跑。

RTX51是非开源的,适合8051系列的实时多任务操作系统,之前接触过uCOS,这个为51定制的小型操作系统感觉用起来也挺方便,虽然看不到内部实际的代码,但是根据手册上给出的相应的函数,比较uCOS感觉还是可以很容易的理解RTX51的实现方法。

51上移植操作系统或许有些吃力,有些不太适合,没具体做过51上移植操作系统的项目,借这次DIY活动玩一下,体验一下。

感谢论坛的支持,感谢论坛的管理人员和工作人员,祝新年快乐,玩的开心。

共13条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]