亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ex1.c

?? ucos2.8 移植到linux下的代碼
?? C
字號:
/*
 *                                                uC/OS-II
 *                                          The Real-Time Kernel
 *
 *                                               Linux Port
 *
 * File        : $Source: /proj/cvs-gfa/Micrium/Software/linux-test/ex1.c,v $
 * By          : (c) George Fankhauser, Sensaco Consulting GmbH, 
 *               Switzerland, http://www.sensaco.com  
 * Version     : $Revision: 1.1.1.1 $
 *
 * Changed by  : $Author: gfa $
 *               $Date: 2003/11/20 10:19:14 $
 *
 * $Log: ex1.c,v $ * Revision 1.1.1.1  2003/11/20 10:19:14  gfa * check in ucos II for linux *
 */

/** \file
 * This is the basic test program based on example #1 from the book MicroC/OS-II by J.J. Labrosse. 
 *
 * 
 */

#include "includes.h"

#include <stdio.h>


/** the ugly output stuff */
#include "term_display.h"

#define TASK_STK_SIZE    OS_TASK_DEF_STK_SIZE            /* Size of each task's stacks (# of bytes)          */
#define N_TASKS          7                               /* Number of identical tasks                        */


OS_STK          TaskStk[N_TASKS][TASK_STK_SIZE];	/* Stacks for subtasks */
OS_STK          TaskStartStk[TASK_STK_SIZE];		/* Stack for first task */
char            TaskData[N_TASKS];                      /* Parameters to pass to each task                  */

void  subTask(void *data);                              /* Function prototypes of tasks                     */
void  myTask(void *data);                               /* Function prototypes of Startup task              */
void  PutChar(char c);                                  /* Write a character to the UART                */
void  PutString(const char *s);                         /* Write a null-terminated string to the UART   */
void  SPrintDec(char *, INT16U, INT8U);                 /* Output an INT16U to a string (right adjust)      */
void  PutDec (INT8U x);                                 /* Display an INT8U without leading zeros           */
void  PC_Attribute (INT8U fgcolor, INT8U bgcolor);    /* Set attributes on PC_ terminal                 */
void  PC_DispClrScr(void);                            /* Clear PC_ terminal                             */
void  PC_DispChar(INT8U, INT8U, char, INT8U, INT8U);  /* Display a character on PC_ terminal            */
void  PC_DispStr(INT8U, INT8U, char *, INT8U, INT8U); /* Display a string on PC_ terminal               */
INT8U random(INT8U n);                                  /* Simple random generator (found in K&R)           */


int main (void)
{ 
  OSInit();
  RandomSem  = OSSemCreate(1);                        /* Random number semaphore                          */
  DispStrSem = OSSemCreate(1);                        /* Display string semaphore                         */

  OSTaskCreate(myTask, (void *)0, (void *)&TaskStartStk[TASK_STK_SIZE - 1], 0);

  RndNext = 1;                                        /* set random generator seed to 1                   */
  OSStart();                                          /* Start multitasking                               */
  return 0;
}

/** myTask
 * this is the highest priority task in this example
 *
 * Example taken from the Book
 */

void myTask(void *data)
{
  INT8U   i;
  char    s[10];
  static int x = 0;

  data = data;       

  linuxInitInt();                                     /* Initialize the Linux timer */

  PC_DispClrScr();       
  PC_DispStr(26,  1, "uC/OS-II, The Real-Time Kernel", COLOR_WHITE, COLOR_RED);
  PC_DispStr(33,  2, "Jean J. Labrosse", COLOR_WHITE, COLOR_BLACK);
  PC_DispStr(25,  3, "Linux port by George Fankhauser", COLOR_WHITE, COLOR_BLACK);
  PC_DispStr(18,  4, "Sensaco Consulting GmbH, http://www.sensaco.com", COLOR_WHITE,COLOR_BLACK);
  PC_DispStr(1,  23, "Determining  CPU's capacity ...", COLOR_WHITE, COLOR_BLACK);

  OSStatInit();                                       /* Initialize uC/OS-II's statistics                 */
    
  for (i = 0; i < N_TASKS; i++) {                     /* Create N_TASKS identical tasks                   */
    TaskData[i] = '0' + i;                            /* Each task will display its own letter            */
    OSTaskCreate(subTask, (void *)&TaskData[i], (void *)&TaskStk[i][TASK_STK_SIZE - 1], i + 1 /* prio */);
  }

  PC_DispStr(1, 23, "#Tasks          : xxxxx  CPU Usage: xxx %", COLOR_WHITE, COLOR_BLACK);
  PC_DispStr(1, 24, "#Task switch/sec: xxxxx   Task Sw.: xxxxx", COLOR_WHITE, COLOR_BLACK);
  for (;;) {
    SPrintDec(s, (INT16U)OSTaskCtr, 5);               /* Display #tasks running */
    PC_DispStr(19, 23, s, COLOR_WHITE, COLOR_BLUE);
    SPrintDec(s, (INT16U)OSCPUUsage, 3);              /* Display CPU usage in % */

    PC_DispStr(37, 23, s, COLOR_WHITE, COLOR_BLUE);

    x += OSCtxSwCtr;
    SPrintDec(s, (INT16U)x, 6);              /* # switches */
    PC_DispStr(37, 24, s, COLOR_WHITE, COLOR_BLUE);
     
#define UPDATE_F 4
    SPrintDec(s, (INT16U)OSCtxSwCtr * UPDATE_F, 5);              /* Display #context switches per second */
    PC_DispStr(19, 24, s, COLOR_WHITE, COLOR_BLUE);
    OSCtxSwCtr = 0;
    OSTimeDlyHMSM(0, 0, 0, 1000/UPDATE_F);                        /* Wait 1/UPDATES second */
  }
}

/** 
 */
void subTask (void *data)
{
  INT8U x;
  INT8U y;
  INT8U err;

  for (;;) {
    OSSemPend(RandomSem, 0, &err);                  /* Acquire semaphore to perform random numbers      */
    x = random(80);                                 /* Find X position where task number will appear    */
    y = random(15);                                 /* Find Y position where task number will appear    */
    OSSemPost(RandomSem);                           /* Release semaphore                                */
                                                    /* Display the task number on the screen            */
    PC_DispChar(x + 1, y + 6, *(char *)data, COLOR_BLACK, 
		    		*(char *)data - '0' + 1);
    OSTimeDly(1);                                 /* Delay 1 clock tick, gibes lower prio threafds a chance to run */
  }
}




void OSTaskSwHook() {}
void OSTaskStatHook() {}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
无码av免费一区二区三区试看| 大胆亚洲人体视频| 国内成人免费视频| 色综合天天综合色综合av| 在线不卡欧美精品一区二区三区| 精品蜜桃在线看| 亚洲福中文字幕伊人影院| 国产精品亚洲专一区二区三区 | 国产精品免费av| 午夜视黄欧洲亚洲| 欧美性大战xxxxx久久久| 欧美成人官网二区| 一区二区三区久久| av一区二区不卡| 久久亚洲一区二区三区明星换脸 | 久久久精品天堂| 日韩在线一区二区三区| 色婷婷久久一区二区三区麻豆| 久久久久久综合| 久久99精品久久久久| 欧美一区二区久久久| 亚洲一线二线三线久久久| 99综合电影在线视频| 国产免费久久精品| 国产乱妇无码大片在线观看| 欧美一卡二卡三卡四卡| 婷婷综合五月天| 欧美日韩国产综合久久| 一区二区三区四区不卡在线| 成人免费视频视频在线观看免费| 欧美r级在线观看| 蜜桃在线一区二区三区| 日韩一区二区在线观看| 日韩精品国产精品| 91.麻豆视频| 麻豆精品在线观看| 欧美一区二区在线播放| 日本午夜一区二区| 日韩欧美国产麻豆| 国模一区二区三区白浆| 亚洲精品一区二区三区精华液| 久久爱www久久做| 精品国产乱子伦一区| 国内一区二区在线| 久久精品视频免费观看| 在线播放一区二区三区| 五月综合激情日本mⅴ| 91精品欧美综合在线观看最新 | 精品亚洲免费视频| 精品国产乱码久久久久久影片| 激情图片小说一区| 亚洲国产精品传媒在线观看| 丁香婷婷综合激情五月色| 国产精品理论片| 91官网在线免费观看| 亚洲国产成人av网| 8x福利精品第一导航| 加勒比av一区二区| 日本一区二区三区dvd视频在线| 岛国一区二区三区| 一区二区三区日韩欧美精品| 4438x亚洲最大成人网| 国产在线视视频有精品| 国产精品美女久久久久久久| 欧美专区在线观看一区| 久久99久国产精品黄毛片色诱| 久久婷婷国产综合精品青草| 99国产精品久| 日本中文字幕一区二区视频| 久久嫩草精品久久久久| 欧美午夜理伦三级在线观看| 蜜桃视频一区二区三区在线观看| 国产无一区二区| 欧美日韩二区三区| 国产成人精品一区二区三区四区 | 午夜精品成人在线视频| 亚洲欧美经典视频| 欧美理论电影在线| 懂色av一区二区在线播放| 午夜久久福利影院| 国产精品黄色在线观看| 91 com成人网| 色婷婷久久综合| 成人理论电影网| 青青草伊人久久| 亚洲欧美国产三级| 国产亚洲欧美在线| 69av一区二区三区| 一本大道av伊人久久综合| 国产一区二区免费在线| 婷婷六月综合网| 亚洲欧美一区二区三区孕妇| 欧美精品一区视频| 337p亚洲精品色噜噜噜| 91老师片黄在线观看| 国产综合色精品一区二区三区| 亚洲国产婷婷综合在线精品| 中文字幕亚洲一区二区va在线| 欧美成人aa大片| 91精品欧美福利在线观看| 色系网站成人免费| 99在线精品一区二区三区| 国产毛片一区二区| 久久国产精品无码网站| 青青草97国产精品免费观看无弹窗版 | 91香蕉视频污在线| 国产一区二区免费看| 蜜臀av性久久久久蜜臀av麻豆| 亚洲综合免费观看高清在线观看| 国产精品热久久久久夜色精品三区 | 精品99一区二区三区| 欧美肥胖老妇做爰| 欧美日韩免费电影| 在线亚洲精品福利网址导航| 99久久伊人网影院| 99视频在线精品| 成人激情免费网站| 波多野结衣在线一区| 成人精品视频一区二区三区 | 亚洲地区一二三色| 一区二区三区四区高清精品免费观看| 国产精品久久久久久亚洲毛片| 中文字幕免费不卡| 欧美国产日产图区| 国产精品久久三区| 亚洲视频免费看| 亚洲美女偷拍久久| 一二三四区精品视频| 亚洲一区二区三区激情| 天堂蜜桃91精品| 麻豆精品在线播放| 国产精品白丝jk黑袜喷水| 成人性生交大合| 日本久久精品电影| 欧美视频在线一区| 3atv在线一区二区三区| 26uuu精品一区二区| 国产精品你懂的在线欣赏| 亚洲欧美另类小说| 五月婷婷激情综合| 国内精品自线一区二区三区视频| 国产成人精品午夜视频免费| 色哟哟在线观看一区二区三区| 91久久精品网| 日韩欧美国产电影| 中文字幕va一区二区三区| 亚洲免费av观看| 青青草原综合久久大伊人精品| 国产福利精品一区| 欧美主播一区二区三区美女| 日韩视频一区二区在线观看| 国产欧美日韩视频在线观看| 亚洲欧美另类图片小说| 美女www一区二区| 99精品国产一区二区三区不卡| 欧美特级限制片免费在线观看| 精品免费一区二区三区| 国产精品毛片久久久久久久| 亚洲成av人综合在线观看| 国产一区视频在线看| 色婷婷久久久综合中文字幕| 欧美一卡2卡3卡4卡| 中文字幕在线观看不卡视频| 日本亚洲免费观看| 一本大道久久精品懂色aⅴ| 日韩精品一区二区三区蜜臀| 亚洲精品va在线观看| 国产一区二区福利视频| 欧美亚洲动漫精品| 国产欧美精品国产国产专区| 日韩激情一区二区| av男人天堂一区| 精品国产欧美一区二区| 亚洲一二三四在线观看| 国产91富婆露脸刺激对白| 欧美老年两性高潮| 亚洲三级在线看| 国产精品一区不卡| 日韩免费在线观看| 亚洲激情五月婷婷| www.欧美.com| 国产婷婷色一区二区三区| 日韩1区2区日韩1区2区| 色欧美日韩亚洲| 国产精品毛片久久久久久| 六月婷婷色综合| 91精品欧美福利在线观看 | 国产日产欧美一区| 激情综合网av| 日韩限制级电影在线观看| 亚洲国产毛片aaaaa无费看| 99久久精品国产观看| 精品美女一区二区三区| 蜜臀91精品一区二区三区| 欧美日韩在线播放三区四区| 亚洲精品免费电影| av在线不卡免费看| 国产欧美日韩综合| 久久99久久精品| 久久精品国产精品青草|