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

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

?? main1.c

?? 最新版FreeRTOS, 包擴多種開發平臺的移植
?? C
字號:
/*
	FreeRTOS.org V4.1.1 - Copyright (C) 2003-2006 Richard Barry.

	This file is part of the FreeRTOS.org distribution.

	FreeRTOS.org is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your option) any later version.

	FreeRTOS.org is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with FreeRTOS.org; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

	A special exception to the GPL can be applied should you wish to distribute
	a combined work that includes FreeRTOS.org, without being obliged to provide
	the source code for any proprietary components.  See the licensing section 
	of http://www.FreeRTOS.org for full details of how and when the exception
	can be applied.

	***************************************************************************
	See http://www.FreeRTOS.org for documentation, latest information, license 
	and contact details.  Please ensure to read the configuration and relevant 
	port sections of the online documentation.
	***************************************************************************
*/

/*
 * Instead of the normal single demo application, the PIC18F demo is split 
 * into several smaller programs of which this is the first.  This enables the 
 * demo's to be executed on the RAM limited 40 pin devices.  The 64 and 80 pin 
 * devices require a more costly development platform and are not so readily 
 * available.
 *
 * The RTOSDemo1 project is configured for a PIC18F452 device.  Main1.c starts 5 
 * tasks (including the idle task).
 *
 * The first task runs at the idle priority.  It repeatedly performs a 32bit 
 * calculation and checks it's result against the expected value.  This checks 
 * that the temporary storage utilised by the compiler to hold intermediate 
 * results does not get corrupted when the task gets switched in and out.  See 
 * demo/common/minimal/integer.c for more information.
 *
 * The second and third tasks pass an incrementing value between each other on 
 * a message queue.  See demo/common/minimal/PollQ.c for more information.
 *
 * Main1.c also creates a check task.  This periodically checks that all the 
 * other tasks are still running and have not experienced any unexpected 
 * results.  If all the other tasks are executing correctly an LED is flashed 
 * once every mainCHECK_PERIOD milliseconds.  If any of the tasks have not 
 * executed, or report and error, the frequency of the LED flash will increase 
 * to mainERROR_FLASH_RATE.
 *
 * On entry to main an 'X' is transmitted.  Monitoring the serial port using a
 * dumb terminal allows for verification that the device is not continuously 
 * being reset (no more than one 'X' should be transmitted).
 *
 * http://www.FreeRTOS.org contains important information on the use of the 
 * PIC18F port.
 */

/*
Changes from V2.0.0

	+ Delay periods are now specified using variables and constants of
	  portTickType rather than unsigned portLONG.
*/

/* Scheduler include files. */
#include "FreeRTOS.h"
#include "task.h"

/* Demo app include files. */
#include "pollq.h"
#include "integer.h"
#include "partest.h"
#include "serial.h"

/* The period between executions of the check task before and after an error
has been discovered.  If an error has been discovered the check task runs
more frequently - increasing the LED flash rate. */
#define mainNO_ERROR_CHECK_PERIOD		( ( portTickType ) 1000 / portTICK_RATE_MS )
#define mainERROR_CHECK_PERIOD			( ( portTickType ) 100 / portTICK_RATE_MS )

/* Priority definitions for some of the tasks.  Other tasks just use the idle
priority. */
#define mainQUEUE_POLL_PRIORITY			( tskIDLE_PRIORITY + 2 )
#define mainCHECK_TASK_PRIORITY			( tskIDLE_PRIORITY + 3 )

/* The LED that is flashed by the check task. */
#define mainCHECK_TASK_LED				( 0 )

/* Constants required for the communications.  Only one character is ever 
transmitted. */
#define mainCOMMS_QUEUE_LENGTH			( 5 )
#define mainNO_BLOCK					( ( portTickType ) 0 )
#define mainBAUD_RATE					( ( unsigned portLONG ) 9600 )

/*
 * The task function for the "Check" task.
 */
static void vErrorChecks( void *pvParameters );

/*
 * Checks the unique counts of other tasks to ensure they are still operational.
 * Returns pdTRUE if an error is detected, otherwise pdFALSE.
 */
static portBASE_TYPE prvCheckOtherTasksAreStillRunning( void );

/*-----------------------------------------------------------*/

/* Creates the tasks, then starts the scheduler. */
void main( void )
{
	/* Initialise the required hardware. */
	vParTestInitialise();
	vPortInitialiseBlocks();

	/* Send a character so we have some visible feedback of a reset. */
	xSerialPortInitMinimal( mainBAUD_RATE, mainCOMMS_QUEUE_LENGTH );
	xSerialPutChar( NULL, 'X', mainNO_BLOCK );

	/* Start the standard demo tasks found in the demo\common directory. */
	vStartIntegerMathTasks( tskIDLE_PRIORITY );
	vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );

	/* Start the check task defined in this file. */
	xTaskCreate( vErrorChecks, ( const portCHAR * const ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );

	/* Start the scheduler.  Will never return here. */
	vTaskStartScheduler();
}
/*-----------------------------------------------------------*/

static void vErrorChecks( void *pvParameters )
{
portTickType xDelayTime = mainNO_ERROR_CHECK_PERIOD;
portBASE_TYPE xErrorOccurred;

	/* Cycle for ever, delaying then checking all the other tasks are still
	operating without error. */
	for( ;; )
	{
		/* Wait until it is time to check the other tasks. */
		vTaskDelay( xDelayTime );

		/* Check all the other tasks are running, and running without ever
		having an error. */
		xErrorOccurred = prvCheckOtherTasksAreStillRunning();

		/* If an error was detected increase the frequency of the LED flash. */
		if( xErrorOccurred == pdTRUE )
		{
			xDelayTime = mainERROR_CHECK_PERIOD;
		}

		/* Flash the LED for visual feedback. */
		vParTestToggleLED( mainCHECK_TASK_LED );
	}
}
/*-----------------------------------------------------------*/

static portBASE_TYPE prvCheckOtherTasksAreStillRunning( void )
{
portBASE_TYPE xErrorHasOccurred = pdFALSE;

	if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
	{
		xErrorHasOccurred = pdTRUE;
	}

	if( xArePollingQueuesStillRunning() != pdTRUE )
	{
		xErrorHasOccurred = pdTRUE;
	}

	return xErrorHasOccurred;
}
/*-----------------------------------------------------------*/


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费看国产 | 免费美女久久99| 久久午夜羞羞影院免费观看| 色综合久久99| 国产91精品在线观看| 首页综合国产亚洲丝袜| 亚洲靠逼com| 日本一区二区免费在线| 欧美成人性福生活免费看| 欧美在线小视频| 色综合天天狠狠| 国产91露脸合集magnet| 国模娜娜一区二区三区| 天天射综合影视| 亚洲制服欧美中文字幕中文字幕| 国产亚洲精品7777| 精品人在线二区三区| 欧美高清视频www夜色资源网| 色婷婷综合视频在线观看| 成人综合婷婷国产精品久久蜜臀 | 午夜一区二区三区视频| 国产精品麻豆欧美日韩ww| 久久久美女毛片| 欧美成人乱码一区二区三区| 在线播放欧美女士性生活| 在线亚洲一区二区| 色天天综合色天天久久| 91色婷婷久久久久合中文| 99国产欧美久久久精品| 成人av电影在线观看| 成人激情小说乱人伦| 国产成人av资源| 成人性生交大合| av一二三不卡影片| 99久久国产综合精品麻豆| 波多野结衣在线aⅴ中文字幕不卡| 国产精品亚洲а∨天堂免在线| 久久国产福利国产秒拍| 国产一区二区三区黄视频 | 欧美日韩成人综合| 欧美亚洲尤物久久| 欧美日韩一级大片网址| 欧美男生操女生| 日韩一区二区精品在线观看| 日韩视频免费观看高清完整版| 日韩午夜激情av| 久久久久久久久久久久久女国产乱| 久久亚洲综合色一区二区三区| 久久影音资源网| 中文文精品字幕一区二区| 亚洲欧美一区二区在线观看| 亚洲最大成人网4388xx| 亚洲成人久久影院| 久久成人av少妇免费| 国产成人精品综合在线观看| 99久久精品免费| 欧美日本国产视频| 久久免费精品国产久精品久久久久| 国产欧美一区二区精品性色超碰| 亚洲日本乱码在线观看| 亚洲成人免费观看| 狠狠狠色丁香婷婷综合久久五月| 懂色av一区二区三区免费看| 在线一区二区视频| 日韩亚洲电影在线| 中文字幕一区日韩精品欧美| 亚洲成人免费在线观看| 国产精品中文字幕欧美| 在线观看日产精品| 精品国产乱码久久久久久1区2区| 国产精品国产三级国产| 亚洲国产精品一区二区久久恐怖片| 六月婷婷色综合| 99免费精品在线观看| 日韩一区二区三区四区| 国产精品视频免费看| 丝袜亚洲另类欧美综合| 国产精品资源在线| 欧美裸体一区二区三区| 国产精品久久久一本精品| 亚洲成人黄色影院| 成人性色生活片| 制服丝袜在线91| 亚洲日本免费电影| 国产美女久久久久| 欧美日韩一级片在线观看| 国产日韩欧美综合在线| 轻轻草成人在线| 色综合久久99| 国产欧美日本一区视频| 日韩高清在线电影| 91麻豆精品秘密| 国产亚洲一区二区三区在线观看| 亚洲不卡av一区二区三区| 成人免费电影视频| 日韩亚洲欧美中文三级| 亚洲一区二区三区激情| 成人免费观看视频| 337p粉嫩大胆噜噜噜噜噜91av | 中文字幕一区av| 激情五月婷婷综合网| 欧美性色欧美a在线播放| 亚洲国产精品成人综合| 久久国产精品第一页| 欧美日韩成人高清| 亚洲男人天堂一区| 成人午夜激情视频| 久久免费午夜影院| 美女视频黄免费的久久| 欧美伦理视频网站| 一区二区成人在线| 97se亚洲国产综合自在线不卡| 久久美女高清视频| 美女一区二区在线观看| 欧美人妇做爰xxxⅹ性高电影 | 久久久777精品电影网影网| 午夜日韩在线观看| 欧美性大战久久久久久久蜜臀 | 精久久久久久久久久久| 欧美一区三区二区| 日韩精品成人一区二区在线| 欧美亚洲免费在线一区| 一区二区三区加勒比av| 91在线看国产| 亚洲视频一区在线| 91啪九色porn原创视频在线观看| 中文字幕高清不卡| 成人涩涩免费视频| 亚洲欧洲精品成人久久奇米网| 国产精品18久久久| 国产精品免费视频网站| 不卡av在线免费观看| 亚洲视频一区二区在线观看| 97se亚洲国产综合在线| 亚洲乱码一区二区三区在线观看| 91麻豆国产精品久久| 亚洲综合精品自拍| 欧美怡红院视频| 午夜精品久久久久久久99水蜜桃 | 午夜av一区二区三区| 欧美天天综合网| 午夜精品一区二区三区免费视频 | 中文字幕在线观看一区| thepron国产精品| 亚洲久草在线视频| 欧美日韩亚洲丝袜制服| 奇米亚洲午夜久久精品| 久久综合狠狠综合久久综合88 | 日本一区二区免费在线| av福利精品导航| 亚洲小说春色综合另类电影| 91精品国产麻豆国产自产在线| 精品一区二区在线看| 国产婷婷一区二区| 一本一道久久a久久精品综合蜜臀| 亚洲综合激情网| 日韩视频一区在线观看| 懂色av一区二区三区蜜臀| 亚洲精品日韩综合观看成人91| 欧美区一区二区三区| 国产在线一区二区综合免费视频| 国产精品女人毛片| 在线免费精品视频| 久久99精品国产.久久久久久 | 久久综合色播五月| 91影视在线播放| 日韩 欧美一区二区三区| 久久日一线二线三线suv| 99精品欧美一区二区三区综合在线| 亚洲一区二区视频在线| 日韩欧美一区二区三区在线| a级高清视频欧美日韩| 无吗不卡中文字幕| 国产蜜臀av在线一区二区三区| 99久久精品国产观看| 免费观看在线综合| 亚洲视频一二区| 亚洲精品一区二区三区四区高清| 91蜜桃视频在线| 精品无码三级在线观看视频| 亚洲精品老司机| www成人在线观看| 在线免费观看一区| 床上的激情91.| 美女被吸乳得到大胸91| 樱花影视一区二区| 久久久精品天堂| 欧美疯狂性受xxxxx喷水图片| 国产成人精品亚洲777人妖| 日韩不卡手机在线v区| 国产精品不卡视频| 久久―日本道色综合久久| 在线播放91灌醉迷j高跟美女| 国产精品91一区二区| 免费精品视频最新在线| 亚洲一区二区在线免费观看视频| 欧美激情一区三区| 欧美xxxxx牲另类人与| 欧美色视频在线观看| 99久久久精品免费观看国产蜜|