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

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

?? uc_os-ii_interupt.c

?? 模塊: init.c 目的: 這個程序演示嵌入式實時操作系統μC/OS中中斷的使用情況
?? C
字號:
/***************************************************************
 * 聲明:
 *  本程序只具備演示功能,不能保證適用于您的真實應用。如需使用,請根據
 * 您的實際需要修改本程序。
 *******************************************************************
 *                      電子科技大學嵌入式軟件工程中心 版權所有
 *
 *                  Copyright (C) 2006 UESTC ESEC
 **************************************************************/

/**************************************************************
 * 模塊: init.c
 *
 * 目的:
 *      這個程序演示嵌入式實時操作系統μC/OS中中斷的使用情況。
 **************************************************************/
 /**********************************************************************************************************
*                                                uC/OS-II
*                                          The Real-Time Kernel
*
*
*********************************************************************************************************
*/

#include <stdio.h>
#include "/host/ide/workspace/ucos/src/includes.h"

/*
*********************************************************************************************************
*                                               CONSTANTS
*********************************************************************************************************
*/

#define          TASK_STK_SIZE     512                /* Size of each task's stacks (# of WORDs)       */
#define          TASK_START_ID       0                /* Application tasks IDs                         */
#define          TASK_START_PRIO    10                /* Application tasks priorities                  */
#define          TASK_1_PRIO        12
#define          TASK_2_PRIO        13
#define          TASK_3_PRIO        14
#define	         N_TASKS			 5				  /* Number of tasks                               */

/*
*********************************************************************************************************
*                                              VARIABLES
*********************************************************************************************************
*/

OS_STK        TaskStartStk[TASK_STK_SIZE];                        /* Startup    task stack              */
OS_STK        Task1Stk[TASK_STK_SIZE];                            /* Task #1    task stack              */
OS_STK        Task2Stk[TASK_STK_SIZE];                            /* Task #2    task stack              */
OS_STK        Task3Stk[TASK_STK_SIZE];                            /* Task #3    task stack              */
OS_EVENT      *InterruptSem;
OS_STK	      TaskStk[N_TASKS][TASK_STK_SIZE/sizeof(OS_STK)];	  /*   Tasks stacks                     */

/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*********************************************************************************************************
*/

		void  TaskStart(void *data);                              /* Function prototypes of tasks        */
static  void  TaskStartCreateTasks(void);
        void  Task1(void *data);
		void  Task2(void *data);
		void  Task3(void *data);

/*
*********************************************************************************************************
*                                               VARIABLES
*********************************************************************************************************
*/

typedef struct {
    char    TaskName[30];
    INT16U  TaskCtr;
    INT16U  TaskExecTime;
    INT32U  TaskTotExecTime;
} TASK_USER_DATA;

TASK_USER_DATA  TaskUserData[7];

/*
*********************************************************************************************************
*                                                MAIN
*********************************************************************************************************
*/

extern void main(void);

void boot_card()
{
	ucBsp_init();                                           /* Initializa ucBsp                        */

    main();
}

extern void OSCpuInit();

extern void OS_Sched(void);

void  main (void)
{
	  printk("Welcome to ucos-II\n");
	  printk("\n");

	  OSCpuInit();                                          /* Install uC/OS-II's context switch vector */
    OSInit();                                               /* Initialize uC/OS-II                      */

    OSTaskCreateExt(TaskStart,
                    (void *)0,
                    &TaskStartStk[TASK_STK_SIZE - 1],
                    TASK_START_PRIO,
                    TASK_START_ID,
                    &TaskStartStk[0],
                    TASK_STK_SIZE,
                    &TaskUserData[TASK_START_ID],
                    0);

    OSStart();                                               /* Start multitasking                       */
}

/*
*********************************************************************************************************
*                                              STARTUP TASK
*********************************************************************************************************
*/

void  TaskStart (void *pdata)
{
  INT16S     key;
  int i;

  pdata = pdata;                                               /* Prevent compiler warning                 */

  ucos_x86_idt_set_handler(0x20,(void *)OSTickISR,0x8e00);     /* Reprogram tick rate                      */
  ucos_timer_init();                                           /* Initialize timer                         */

 InterruptSem=OSSemCreate(1);                                  /* create 1 signal                          */

 TaskStartCreateTasks();                                       /* Create all the application tasks         */

 OSTaskSuspend(OS_PRIO_SELF);                                  /* Suspend  the TaskStart                        */
}

/*
*********************************************************************************************************
*                                             CREATE TASKS
*********************************************************************************************************
*/

void  TaskStartCreateTasks (void)
{
	OSTaskCreate(Task1,(void *)0,&Task1Stk[TASK_STK_SIZE - 1],TASK_1_PRIO);
	OSTaskCreate(Task2,(void *)0,&Task2Stk[TASK_STK_SIZE - 1],TASK_2_PRIO);
	OSTaskCreate(Task3,(void *)0,&Task3Stk[TASK_STK_SIZE - 1],TASK_3_PRIO);
}

/*
*********************************************************************************************************
*                                             Task1
*********************************************************************************************************
*/

void  Task1 (void *pdata)
{
	 INT8U  err;
	 pdata=pdata;

	 for (;;)
	 {
		  OSTimeDly(100);
		  printk( "\nTask1 is try to get semaphore.\n\n");                                          /*task1 delay 100 clock ticks             */
		  OSSemPend(InterruptSem, 0, &err);                        /* Acquire semaphore to get into the room */
		  printk("Task1 has Succeed to obtain semaphore.\n");
		  printk("Task1 is delayed.\n\n");
		  OSTimeDly(200);

//		  OSTimeDly(100);
         printk("\nThe delay of Task1 finished .\n");
         printk("Task1 release semaphore.\n");
		  OSSemPost(InterruptSem);                                 /* Release semaphore                      */

		  OSTimeDly(200);

	 }
}

/*
*********************************************************************************************************
*                                             Task2
*********************************************************************************************************
*/

void Task2 (void *pdata)
{
	 INT8U err;

	 pdata=pdata;

	 for (;;)
	 {
		  printk( "\nTask2 is try to get semaphore.\n");
		  OSSemPend(InterruptSem, 0, &err);                        /* Acquire semaphore to get into the room */
		  printk( "Task2 has Succeed to obtain semaphore.\n");
		  printk("Task2 is delayed.\n\n");
		  OSTimeDly(500);                                          /*task2 delay 500 clock ticks             */

//		  OSTimeDly(100);
          printk("\nThe delay of Task2 finished .\n");
		  printk("Task2 release semaphore.\n");
		  OSSemPost(InterruptSem);                                 /* Release semaphore                      */
		  OSTimeDly(200);
//		  printk("Task2 is waitting.\n");
 	  }
}

/*
*********************************************************************************************************
*                                             Task3
*********************************************************************************************************
*/

void  Task3 (void *pdata)
{
	 pdata=pdata;
	 for (;;)
	 {
		  printk("Task3 has got the CPU:|||||||||||||||||||||||||||||||||||||\n");
		  OSTimeDly(100);
//		  printk("Task3://///////////////////////////////////\n");
//		  OSTimeDly(50);
//		  printk("Task3:-------------------------------------\n");
//		  OSTimeDly(50);
//		  printk("Task3:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\   \n");
//		  OSTimeDly(50);
	 }
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色小视频在线观看| 久久精品国内一区二区三区| 91丨porny丨中文| 国产精品久久久久久久久免费相片 | 欧美激情综合五月色丁香小说| 国产精品一区在线观看乱码 | 亚洲欧洲精品一区二区精品久久久 | 中文字幕一区二区三区蜜月| 97精品电影院| 亚洲永久精品大片| 91精品综合久久久久久| 精品亚洲成a人在线观看| 中文字幕不卡在线| 91成人看片片| 日本一区中文字幕| 国产丝袜美腿一区二区三区| a美女胸又www黄视频久久| 亚洲欧美日韩一区二区三区在线观看| 色婷婷av一区二区三区gif| 日韩中文字幕1| 久久久久久久久一| 在线一区二区视频| 免费视频一区二区| 国产精品久久久久婷婷| 911精品国产一区二区在线| 国产一区二区三区久久悠悠色av| 国产精品久线观看视频| 欧美日韩成人在线一区| 国产剧情一区二区| 樱花草国产18久久久久| 正在播放一区二区| 99在线精品一区二区三区| 亚洲1区2区3区视频| 久久久99精品久久| 欧美在线免费播放| 国产成人丝袜美腿| 视频一区二区三区在线| 国产精品私房写真福利视频| 欧美日韩一二区| 成人精品鲁一区一区二区| 香蕉久久一区二区不卡无毒影院| 国产欧美日韩一区二区三区在线观看| 色av综合在线| 国产99久久久精品| 热久久一区二区| 一区二区三区在线观看欧美| 久久综合丝袜日本网| 欧美群妇大交群中文字幕| 99久久亚洲一区二区三区青草| 日韩av午夜在线观看| 亚洲精品国产一区二区精华液 | 日本不卡在线视频| 亚洲欧美日韩久久| 国产偷国产偷亚洲高清人白洁| 56国语精品自产拍在线观看| 成人99免费视频| 国产中文字幕一区| 日本最新不卡在线| 亚洲成av人片观看| 亚洲欧美一区二区视频| 国产亚洲1区2区3区| 精品奇米国产一区二区三区| 欧美日韩免费观看一区二区三区| 成人av片在线观看| 粉嫩欧美一区二区三区高清影视 | 激情久久五月天| 午夜欧美视频在线观看| 一个色在线综合| 亚洲精品日韩综合观看成人91| 国产日韩欧美电影| 国产亚洲一二三区| 国产视频在线观看一区二区三区| 欧美va在线播放| 日韩免费一区二区| 欧美一卡在线观看| 欧美一级视频精品观看| 欧美日韩aaa| 欧美高清性hdvideosex| 欧美一区二区三区在线视频| 欧美日韩精品综合在线| 欧美天堂亚洲电影院在线播放| 色av一区二区| 欧美精品一级二级| 9191久久久久久久久久久| 69久久99精品久久久久婷婷| 欧美一区二区三区视频在线观看| 69精品人人人人| 精品蜜桃在线看| 久久亚洲二区三区| 久久精品欧美一区二区三区不卡| 国产欧美中文在线| 17c精品麻豆一区二区免费| 国产精品久99| 亚洲午夜视频在线| 日韩国产在线观看| 国产一区不卡精品| 成人涩涩免费视频| 在线影视一区二区三区| 欧美日本精品一区二区三区| 精品久久久久久久久久久久久久久 | 国产一区欧美日韩| 国产99久久久精品| 色94色欧美sute亚洲线路二| 欧美日韩国产色站一区二区三区| 91精品国产综合久久香蕉麻豆| 日韩精品一区二区三区在线| 久久综合九色综合97婷婷| 中文字幕精品在线不卡| 艳妇臀荡乳欲伦亚洲一区| 青青草97国产精品免费观看| 国产福利一区二区三区视频在线| 成人激情av网| 欧美日产在线观看| 久久久国产综合精品女国产盗摄| 国产精品久久久久久久岛一牛影视| 亚洲一区二区三区四区五区中文| 麻豆精品视频在线观看免费| 成人app软件下载大全免费| 欧美日韩免费在线视频| 久久久久国产一区二区三区四区 | 亚洲最大色网站| 精品一区二区免费在线观看| 91老师国产黑色丝袜在线| 91精品国产综合久久精品麻豆| 亚洲国产成人午夜在线一区| 亚洲一级电影视频| 国产不卡在线一区| 制服丝袜亚洲播放| 日韩伦理免费电影| 精品一区二区三区免费毛片爱| 色哦色哦哦色天天综合| 久久久久青草大香线综合精品| 一区二区三区视频在线看| 国产精品一品视频| 欧美二区三区91| 亚洲精品乱码久久久久久久久| 激情文学综合网| 欧美精品久久99久久在免费线| 国产精品久久久久一区二区三区 | 国产一区二区三区免费在线观看| 欧美在线不卡一区| 国产精品乱码一区二三区小蝌蚪| 美日韩黄色大片| 欧美日韩亚洲另类| 亚洲视频一区在线| 成人一区二区三区在线观看| 日韩欧美另类在线| 午夜精品久久久久影视| 93久久精品日日躁夜夜躁欧美| 欧美va日韩va| 日韩1区2区3区| 欧美日韩成人在线| 亚洲午夜精品网| 色成年激情久久综合| 亚洲欧洲av在线| 大白屁股一区二区视频| 久久中文字幕电影| 久久国产麻豆精品| 日韩丝袜情趣美女图片| 天堂蜜桃一区二区三区| 欧美亚一区二区| 亚洲精品你懂的| 色系网站成人免费| 亚洲一区二区三区在线播放| 色久综合一二码| 亚洲国产日韩一区二区| 欧洲生活片亚洲生活在线观看| 亚洲欧美视频一区| 91麻豆6部合集magnet| 一区二区三区四区激情| 欧美亚洲一区二区在线| 一区二区三区国产| 欧美日韩国产另类一区| 亚洲高清免费观看高清完整版在线观看| 91福利在线观看| 偷拍与自拍一区| 欧美www视频| 国产精品一二三| 亚洲欧美中日韩| 91久久国产综合久久| 亚洲chinese男男1069| 日韩网站在线看片你懂的| 精品亚洲国产成人av制服丝袜| 久久久99久久精品欧美| 99久久99久久精品免费看蜜桃| 亚洲欧美乱综合| 7777精品伊人久久久大香线蕉的| 久久激情五月婷婷| 国产日韩欧美激情| 在线观看亚洲专区| 蜜桃av一区二区在线观看| 久久久国际精品| 91福利视频在线| 美女在线观看视频一区二区| 亚洲精品一区二区三区四区高清| 国产一区二区伦理| 亚洲欧美一区二区三区久本道91| 国产成人精品一区二区三区网站观看| 久久久久国产精品麻豆ai换脸 | 欧美一区二区人人喊爽|