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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? UCOS測(cè)試代碼基于零點(diǎn)科技BE-A7的板卡
?? C
字號(hào):

#include    "def.h"
#include	"option.h"
#include	"44blib.h"
#include	"44b.h"

#include    "rtc.h"

#include    "os_cpu.h"
#include	"ucos_ii.h"               /* uC/OS interface */
#include	"target.h"
//***************************************************************************
/* allocate memory for tasks' stacks */
#ifdef SEMIHOSTED
	#define STACKSIZE       (SEMIHOSTED_STACK_NEEDS+64)
#else
	//#define  TASK_STACK_SIZE	(  256+64 )
	#define  TASK_STACK_SIZE	(  512+64 )
	//#define  TASK_STACK_SIZE	( 8192+64 )
#endif

//***************************************************************************
OS_STK Main_Task_Stack[TASK_STACK_SIZE];
void Main_Task( void *Id ) ;
#define Main_Task_PRIO       4

OS_STK Task_Beep_Stack[TASK_STACK_SIZE];
void Task_Beep( void *Id ) ;
#define Task_Beep_PRIO       5

OS_STK Task_LED_Stack[TASK_STACK_SIZE];
void Task_LED( void *Id ) ;
#define Task_LED_PRIO       6

OS_STK  Task_KeyScan_Stack[TASK_STACK_SIZE];
void Task_KeyScan( void *Id ) ;
#define Task_KeyScan_PRIO       7

OS_STK Task_Rtc_Disp_Stack[TASK_STACK_SIZE*2];
void Task_Rtc_Disp( void *Id ) ;
#define Task_Rtc_Disp_PRIO       9

OS_EVENT *UART0_SEM ;		//UART 0信號(hào)量
OS_EVENT *Key_Mbox ;		//按鍵消息郵箱
OS_EVENT *OK_Mbox;		//按鍵消息郵箱

/******************************************************************************
【功能說(shuō)明】主任務(wù),在本任務(wù)中啟動(dòng)系統(tǒng)定時(shí)器并創(chuàng)建其他任務(wù)
******************************************************************************/
void Main_Task( void *Id )
{
	U8 err ;
	
	ARMStartTimer();
	OSStatInit();

	OSTaskCreate( Task_Beep, (void *)0, (OS_STK *)&Task_Beep_Stack[TASK_STACK_SIZE-1], Task_Beep_PRIO ) ;
	OSTaskCreate( Task_KeyScan, (void *)0, (OS_STK *)&Task_KeyScan_Stack[TASK_STACK_SIZE-1], Task_KeyScan_PRIO ) ;
	OSTaskCreate( Task_LED, (void *)0, (OS_STK *)&Task_LED_Stack[TASK_STACK_SIZE-1], Task_LED_PRIO ) ;
	OSTaskCreate( Task_Rtc_Disp, (void *)0, (OS_STK *)&Task_Rtc_Disp_Stack[TASK_STACK_SIZE*2-1], Task_Rtc_Disp_PRIO ) ;

	for( ; ; )	
	{
		OSTimeDly(2000);
		OSSemPend(UART0_SEM, 0, &err) ;		//掛起當(dāng)前任務(wù)直至其他任務(wù)或中斷置起信號(hào)量
		Uart_Printf( "++++++++++++++++++++++++++++++++++++++" ) ;
		Uart_Printf( "OSCPUUsage = %d%% \n", OSCPUUsage ) ;
		OSSemPost(UART0_SEM) ;		//置起指定的信號(hào)量
	}
}

/******************************************************************************
【功能說(shuō)明】本任務(wù)使LED來(lái)回閃爍
******************************************************************************/
void Task_LED( void *Id )
{
	for(;;)
	{
		Led_Set( 0x08 ) ;		//
		OSTimeDly( 100 );		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		Led_Set( 0x04 ) ;		//
		OSTimeDly( 100 );		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		Led_Set( 0x02 ) ;		//
		OSTimeDly( 100 );		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		Led_Set( 0x01 ) ;		//
		OSTimeDly( 100 );		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		Led_Set( 0x00 ) ;		//
		OSTimeDly( 30 );		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
	}
}

/******************************************************************************
【功能說(shuō)明】蜂鳴器定時(shí)發(fā)生任務(wù)
******************************************************************************/
void Task_Beep( void *Id )
{
	U8 err ;
	U16 m ;

	for( ; ; )	
	{	
		for( m = 0; m < 200; m++ )
		{
			Beep( ON ) ;
			OSTimeDly(1);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
			Beep( OFF ) ;
			OSTimeDly(1);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		}
		OSTimeDly(1500);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍

		//OSSchedLock() ;		//停止任務(wù)調(diào)度
		OSSemPend(UART0_SEM, 0, &err) ;		//掛起當(dāng)前任務(wù)直至其他任務(wù)或中斷置起信號(hào)量
		Uart_Printf( "Task Beep is running!\n" ) ;
		OSSemPost(UART0_SEM) ;		//置起指定的信號(hào)量
		//OSSchedUnlock() ;		//恢復(fù)任務(wù)調(diào)度
	}
}

/******************************************************************************
【功能說(shuō)明】按鍵掃描的任務(wù),因啟用了中斷,本任務(wù)棄置不用
******************************************************************************/
void Task_KeyScan( void *Id )
{
	U8 key ;
	U8 err ;
	
	rPCONG = rPCONG &0x00ff ;		//PG4567 is input
	
	for( ; ; )	
	{
		if( (rPDATG&0xe0)!= 0xe0 )		//有鍵按下
		{
			OSTimeDly(15);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
			if( (rPDATG&0xe0)!= 0xe0 )		//鍵仍然按下
			{
				switch (rPDATG&0xe0)
				{
					case 0xc0 : OSMboxPost(Key_Mbox, (void *)4); break ;
					case 0xa0 : OSMboxPost( OK_Mbox, (void *)6); break ;
					case 0x60 : OSMboxPost(Key_Mbox, (void *)7); break ;
					default :	 key = 0 ;
				}
			}

			OSSemPend(UART0_SEM, 0, &err) ;		//掛起當(dāng)前任務(wù)直至其他任務(wù)或中斷置起信號(hào)量
				//if( key == 0 )
				//{
					Uart_Printf( "\tkey is pressed , " ) ;
					Uart_Printf( "rPDATG = 0x%02x\n", (rPDATG&0xe0) ) ;
				//}
			OSSemPost(UART0_SEM) ;		//置起指定的信號(hào)量
			
			while( (rPDATG&0xe0)!= 0xe0 )		//鍵仍然按下
				OSTimeDly(20);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		}
		
		OSTimeDly(20);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
	}
}

/******************************************************************************
【功能說(shuō)明】本任務(wù)顯示系統(tǒng)當(dāng)前時(shí)間
 *****************************************************************************/
void Task_Rtc_Disp( void *Id )
{
	INT8U err ;
	INT8U m ;
	STRU_SYS_TIME c_SysTime ;
	
	for( ; ; )
	{
		OSTimeDly(500);		//將任務(wù)延時(shí)若干時(shí)鐘節(jié)拍
		
		OSSchedLock() ;		//停止任務(wù)調(diào)度
		c_SysTime = Get_Time() ;
		OSSchedUnlock() ;		//恢復(fù)任務(wù)調(diào)度
		
		if ( m != c_SysTime.ucSecond )
		{
			OSSemPend(UART0_SEM, 0, &err) ;		//掛起當(dāng)前任務(wù)直至其他任務(wù)或中斷置起信號(hào)量

			Uart_Printf( "The Time is %2x", c_SysTime.ucHour ) ;
			Uart_Printf( ":%02x", c_SysTime.ucMinute ) ;
			Uart_Printf( ":%02x", c_SysTime.ucSecond ) ;
			Uart_Printf( "--%02x", c_SysTime.ucDay ) ;
			Uart_Printf( "/%02x", c_SysTime.ucMonth ) ;
			Uart_Printf( "/%4x\n", (0x2000 + c_SysTime.ucYear) ) ;

			OSSemPost(UART0_SEM) ;		//置起指定的信號(hào)量
			
			m = c_SysTime.ucSecond ;
		}
	}
}

/******************************************************************************
【功能說(shuō)明】系統(tǒng)主函數(shù)
******************************************************************************/
void Main(void)
{
	U16 ver ;

	ARMTargetInit();		//目標(biāo)板初始化
	Uart_Printf("\n\nTarget Initing\n");

    Uart_Printf("\n\n注意由于本程序使用了中斷,所以必須將本項(xiàng)目的目標(biāo)代碼燒寫入Flash的0地址\n");
    Uart_Printf("這樣Flash中才有中斷向量,不過(guò)只需要燒入一次就行了,以后JTAG調(diào)試或網(wǎng)口下載運(yùn)行本程序就沒有問(wèn)題了\n");
    Uart_Printf("可以使用netload或者是comload下載本目標(biāo)代碼到SDRAM,然后用Prog 0燒寫代碼到Flash(不覆蓋0地址跳轉(zhuǎn)指令)\n\n");
	
	OSInit();		//uCOS-II初始化
	Uart_Printf("OS Initing\n");

	OSTimeSet(0);
    Uart_Printf("OS Time setting\n");
 
    ver = OSVersion();
    Uart_Printf("OS Version: %d\n",ver);

	//創(chuàng)建信號(hào)量
	UART0_SEM = OSSemCreate( 1 ) ;		//UART 0 信號(hào)量
	
	//創(chuàng)建消息郵箱
	Key_Mbox = OSMboxCreate( (void *)0 );

	//創(chuàng)建信號(hào)量
	OK_Mbox = OSMboxCreate((void *)0);
   
	//創(chuàng)建主任務(wù)
	OSTaskCreate( Main_Task, (void *)0, (OS_STK *)&Main_Task_Stack[TASK_STACK_SIZE-1], Main_Task_PRIO ) ;
        
	ARMTargetStart();		//start the ARM target running
    Uart_Printf("OS Starting\n\n");

	OSStart();		//Start uCOS-II

    /* never reached */
}
//*****************************************************************************

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女同互慰高潮91漫画| 666欧美在线视频| 最新高清无码专区| 不卡一卡二卡三乱码免费网站 | 欧美日韩极品在线观看一区| 亚洲国产精品尤物yw在线观看| 欧美日韩国产在线观看| 无码av免费一区二区三区试看| 欧美精品一二三| 久久se精品一区二区| 久久久国产午夜精品| eeuss鲁片一区二区三区| 亚洲色图在线视频| 91麻豆精品国产91久久久使用方法 | 国产精品视频一二| 色婷婷亚洲一区二区三区| 国产精品99久| 亚洲欧洲在线观看av| 欧美日韩一区久久| 韩国一区二区在线观看| 亚洲视频狠狠干| 91精品久久久久久久99蜜桃| 国产精品一二三| 亚洲国产精品久久不卡毛片| 久久亚洲免费视频| 色婷婷综合激情| 国产一区二区三区电影在线观看| 成人欧美一区二区三区黑人麻豆| 欧美色综合影院| 国产乱子轮精品视频| 亚洲欧美另类久久久精品2019| 91精品国产黑色紧身裤美女| 国产aⅴ综合色| 亚洲成a人v欧美综合天堂| 久久综合九色欧美综合狠狠| 在线精品视频免费观看| 国产成人亚洲精品狼色在线| 亚洲国产日韩精品| 日本一区二区三级电影在线观看 | 国产精品123| 亚洲成人免费电影| 中文字幕色av一区二区三区| 日韩一级免费一区| 成人小视频在线| 精品一区二区三区视频在线观看 | 中文久久乱码一区二区| 91精品在线观看入口| av欧美精品.com| 美女视频免费一区| 亚洲综合色噜噜狠狠| 亚洲国产高清不卡| 亚洲精品国产品国语在线app| 日韩一区二区三区视频| 欧美综合一区二区| 成人免费高清在线| 国产成人免费视频网站 | 在线播放中文一区| 色老头久久综合| 91免费看视频| 成人激情免费网站| 国产成人激情av| 国产精品77777竹菊影视小说| 日本成人在线视频网站| 亚洲成a人v欧美综合天堂下载| 亚洲欧美乱综合| 亚洲日本va午夜在线影院| 国产视频视频一区| 久久久久亚洲蜜桃| 久久夜色精品一区| 久久影院午夜论| 亚洲精品一区在线观看| 欧美成人欧美edvon| 91精选在线观看| 7777女厕盗摄久久久| 91精品国产全国免费观看| 欧美精品丝袜久久久中文字幕| 欧美日韩成人一区| 91精品国产综合久久福利软件| 中文在线资源观看网站视频免费不卡| 久久婷婷一区二区三区| 2020日本不卡一区二区视频| 久久天天做天天爱综合色| 久久久久久久久久美女| 国产欧美视频一区二区| 国产精品久久久久三级| 亚洲欧美一区二区视频| 亚洲欧洲日韩综合一区二区| 亚洲三级在线播放| 亚洲成人激情av| 强制捆绑调教一区二区| 国产美女一区二区三区| 懂色av一区二区三区免费看| 99国产精品久久久| 精品视频资源站| 欧美成人aa大片| 国产精品久久久久久久浪潮网站 | 日韩综合小视频| 精品一区二区三区影院在线午夜| 国产精品亚洲а∨天堂免在线| 成人av网站在线观看免费| 日本丶国产丶欧美色综合| 欧美高清www午色夜在线视频| 日韩免费性生活视频播放| 国产三级精品在线| 亚洲最新视频在线观看| 日本成人在线视频网站| 成人免费视频一区| 欧洲精品中文字幕| 精品国产亚洲在线| 亚洲欧洲精品成人久久奇米网| 亚洲一二三四在线| 精品亚洲国内自在自线福利| 不卡的电影网站| 欧美日韩小视频| 中文字幕免费不卡| 日本高清不卡一区| 精品久久久久久久久久久久久久久 | 亚洲欧洲另类国产综合| 激情文学综合丁香| 日韩一区二区三区在线视频| 亚洲超碰精品一区二区| 欧洲国产伦久久久久久久| 亚洲欧美另类图片小说| av电影天堂一区二区在线| 国产午夜精品在线观看| 韩国三级在线一区| 2021国产精品久久精品| 精品在线观看免费| 欧美一区二区精品| 青青草国产成人99久久| 欧美一卡二卡三卡| 日本中文字幕不卡| 欧美电影免费观看高清完整版| 日韩电影在线一区二区三区| 欧美日韩二区三区| 图片区小说区国产精品视频| 欧美三级电影在线观看| 视频一区二区国产| 正在播放一区二区| 老司机午夜精品99久久| 精品国产免费久久| 国产主播一区二区三区| 久久久99免费| a4yy欧美一区二区三区| 亚洲日本va午夜在线影院| 91黄色免费版| 视频在线观看一区| 日韩亚洲欧美在线| 美国三级日本三级久久99| 精品剧情v国产在线观看在线| 激情成人综合网| 日本一区二区三区电影| 91免费国产视频网站| 亚洲一二三区视频在线观看| 91精品黄色片免费大全| 国产资源在线一区| 国产精品美女久久久久久久网站| 成人精品国产一区二区4080| 一区二区久久久久| 91精品欧美一区二区三区综合在| 久久精品av麻豆的观看方式| 久久精子c满五个校花| 色综合网站在线| 日韩av一区二| 久久青草欧美一区二区三区| 97久久精品人人爽人人爽蜜臀| 亚洲成人久久影院| 久久久精品国产99久久精品芒果| av电影一区二区| 日韩精品五月天| 国产精品污www在线观看| 在线观看亚洲一区| 韩国精品在线观看| 玉米视频成人免费看| 精品日韩一区二区三区| 91女厕偷拍女厕偷拍高清| 日韩二区在线观看| 中文字幕一区二区三区四区| 91精品啪在线观看国产60岁| 成人黄色电影在线| 蜜桃av一区二区在线观看| 国产精品精品国产色婷婷| 91麻豆精品久久久久蜜臀| proumb性欧美在线观看| 视频一区二区中文字幕| 国产精品丝袜91| 欧美电视剧在线看免费| 在线国产亚洲欧美| 国产91精品精华液一区二区三区 | 成人一级片网址| 日韩精品1区2区3区| 国产精品乱码久久久久久| 91精品视频网| 日本精品一级二级| 成人在线视频一区二区| 日韩电影免费一区| 亚洲天堂中文字幕| 久久久久久久久久久久久女国产乱| 欧美日韩在线综合| 91小视频免费观看|