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

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

?? c_start.c

?? 在AT91RM9200下開發(fā)的UCOS系統(tǒng)
?? C
?? 第 1 頁 / 共 2 頁
字號:
//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : lib_AT91RM9200.h
//* Object              : AT91RM9200 inlined functions
//* Generated           : AT91 SW Application Group  04/16/2003 (12:30:07)
//*
//* CVS Reference       : /lib_pdc.h/1.2/Tue Jul 02 11:29:40 2002//
//* CVS Reference       : /lib_dbgu.h/1.1/Fri Jan 31 11:18:40 2003//
//* CVS Reference       : /lib_rtc_1245d.h/1.1/Fri Jan 31 11:19:12 2003//
//* CVS Reference       : /lib_ssc.h/1.4/Fri Jan 31 11:19:20 2003//
//* CVS Reference       : /lib_spi_AT91RMxxxx.h/1.2/Fri Jan 31 11:19:32 2003//
//* CVS Reference       : /lib_tc_1753b.h/1.1/Fri Jan 31 11:20:02 2003//
//* CVS Reference       : /lib_pmc.h/1.3/Thu Nov 14 06:40:46 2002//
//* CVS Reference       : /lib_pio.h/1.3/Fri Jan 31 11:18:56 2003//
//* CVS Reference       : /lib_twi.h/1.2/Fri Jan 31 11:19:38 2003//
//* CVS Reference       : /lib_usart.h/1.5/Thu Nov 21 15:01:54 2002//
//* CVS Reference       : /lib_mci.h/1.2/Wed Nov 20 13:18:56 2002//
//* CVS Reference       : /lib_aic.h/1.3/Fri Jul 12 06:46:12 2002//
//* CVS Reference       : /lib_udp.h/1.3/Fri Jan 31 11:19:48 2003//
//* CVS Reference       : /lib_st.h/1.4/Fri Jan 31 11:20:14 2003//
//*----------------------------------------------------------------------------

#include "lib_AT91RM9200.h"

//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : init_c.c
//* Object              : Low level initialisations written in C
//* Creation            : FB   23/10/2002
//*
//*----------------------------------------------------------------------------

/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////

#define	FALSE					0
#define	TRUE					1
#define	DELAY_PLL				200
#define DELAY_MAIN_FREQ			200

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Configuration for a Quartz 18.432000 MHz
/////////////////////////////////////////////////////////////////////////////////////////////////////

#define	PLLAR 					0x2026BE04	//* 179,712000 MHz for PCK 0x20263E04
#define	PLLBR 					0x10483E0E	//* 48,054857 MHz (divider by 2 for USB)
#define	MCKR  					0x00000202	//* PCK/3 = MCK Master Clock = 59,904000MHz with PLLA selected 0x00000202
#define SLOWCLOCK				32768		//* In Hz

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Frequencies Range
/////////////////////////////////////////////////////////////////////////////////////////////////////

#define INPUT_FREQ_MIN			900000
#define INPUT_FREQ_MAX			32000000


#define BASE_EBI_CS0_ADDRESS	0x10000000	//* base address to access memory on CS0
#define BASE_EBI_CS1_ADDRESS	0x20000000	//* base address to access memory on CS1

#define OUTPUT_FREQ_MIN			80000000
#define OUTPUT_FREQ_MAX			240000000


//*----------------------------------------------------------------------------
//* \fn    AT91F_DBGU_Printk
//* \brief This function is used to send a string through the DBGU channel (Very low level debugging)
//*----------------------------------------------------------------------------
void AT91F_DBGU_Printk(
	char *buffer) // \arg pointer to a string ending by \0
{
	while(*buffer != '\0') {
		while (!AT91F_US_TxReady((AT91PS_USART)AT91C_BASE_DBGU));
		AT91F_US_PutChar((AT91PS_USART)AT91C_BASE_DBGU, *buffer++);
	}
}

/*----------------------------------------------------------------------------	*/
/* \fn    AT91F_DataAbort							*/
/* \brief This function reports an Abort					*/
/*----------------------------------------------------------------------------	*/
void AT91F_SpuriousHandler() 
{
	AT91F_DBGU_Printk("-F- Spurious Interrupt detected\n\r");
	while (1);
}


/*----------------------------------------------------------------------------	*/
/* \fn    AT91F_DataAbort							*/
/* \brief This function reports an Abort					*/
/*----------------------------------------------------------------------------	*/
void AT91F_DataAbort() 
{
	AT91F_DBGU_Printk("-F- Data Abort detected\n\r");
	while (1);
}

/*----------------------------------------------------------------------------	*/
/* \fn    AT91F_FetchAbort							*/
/* \brief This function reports an Abort					*/
/*----------------------------------------------------------------------------	*/
void AT91F_FetchAbort()
{
	AT91F_DBGU_Printk("-F- Prefetch Abort detected\n\r");
	while (1);
}

/*----------------------------------------------------------------------------	*/
/* \fn    AT91F_Undef								*/
/* \brief This function reports an Abort					*/
/*----------------------------------------------------------------------------	*/
void AT91F_Undef() 
{
	AT91F_DBGU_Printk("-F- Undef detected\n\r");
	while (1);
}

/*----------------------------------------------------------------------------	*/
/* \fn    AT91F_UndefHandler							*/
/* \brief This function reports that no handler have been set for current IT	*/
/*----------------------------------------------------------------------------	*/
void AT91F_UndefHandler() 
{
	AT91F_DBGU_Printk("-F- Undef detected\n\r");
	while (1);
}


//*----------------------------------------------------------------------------
//* \fn    AT91F_WaitForMainClockFrequency
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
unsigned char AT91F_WaitForMainClockFrequency()
{
	volatile char	tmp	= 0;

/////////////////////////////////////////////////////////////////////////////////////////////////////
// Step 2.
// Checking the Main Oscillator Frequency (Optional)
/////////////////////////////////////////////////////////////////////////////////////////////////////
    AT91C_BASE_CKGR->CKGR_MOR=0x1;
	//* Determine the main clock frequency
	
	while(!(AT91C_BASE_CKGR->CKGR_MCFR & AT91C_CKGR_MAINRDY) && (tmp++ < DELAY_MAIN_FREQ));

	if (tmp >= DELAY_MAIN_FREQ)
		return FALSE;

	return TRUE;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CheckPLL_FrequencyRange
//* \brief This function performs very low level HW initialiszation
//*----------------------------------------------------------------------------
unsigned char AT91F_CheckPLL_FrequencyRange(int MainClock,int pllDivider ,int pllMultiplier)
{
	if(pllDivider == 0)
		return FALSE;

	//* Check Input Frequency
	if( ((MainClock/pllDivider) < INPUT_FREQ_MIN)
	 || ((MainClock/pllDivider) > INPUT_FREQ_MAX) )
		return FALSE;

	//* Check Output Frequency
	if( ((MainClock/pllDivider*pllMultiplier) < OUTPUT_FREQ_MIN)
	 || ((MainClock/pllDivider*pllMultiplier) > OUTPUT_FREQ_MAX) )
		return FALSE;

	return TRUE;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_InitClocks
//* \brief This function performs very low level HW initialization
//*----------------------------------------------------------------------------
unsigned char AT91F_InitClocks(int PLLAR_Register,int PLLBR_Register ,int MCKR_Register)
{
	volatile char 	tmp = 0;
	unsigned int	MainClock;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜精品电影| 色综合天天综合网国产成人综合天 | 久久不见久久见免费视频1 | 欧美日韩www| 亚洲777理论| 欧美视频自拍偷拍| 午夜久久久影院| 91精品国产色综合久久久蜜香臀| 日韩成人一级大片| 亚洲精品一区二区三区影院| 国产美女精品人人做人人爽| 日本一区二区电影| 99久精品国产| 石原莉奈在线亚洲二区| 欧美mv日韩mv国产网站app| 国产一区视频在线看| 国产精品成人一区二区艾草| 91一区二区在线| 午夜精品久久久久久久| 欧美大白屁股肥臀xxxxxx| 国产精品一二三四五| 中文字幕在线免费不卡| 亚洲欧美日韩在线| 亚洲国产精品麻豆| 成人av网站在线| 亚洲欧洲精品一区二区三区不卡| 色国产综合视频| 六月丁香综合在线视频| 欧美激情一区二区三区全黄| 欧美日韩日日摸| 国产在线看一区| 一区二区三区四区五区视频在线观看| 欧美高清www午色夜在线视频| 国产剧情一区二区| 亚洲国产一区二区视频| 国产亚洲精品福利| 欧美日韩精品一区二区三区蜜桃| 国产激情偷乱视频一区二区三区| 亚洲国产一区在线观看| 国产女人aaa级久久久级| 欧美视频一区在线| 懂色av一区二区三区免费看| 香蕉成人啪国产精品视频综合网| 国产亚洲一区二区在线观看| 欧美区一区二区三区| 99久久精品国产一区| 久久精品99久久久| 一区二区三区高清不卡| 国产欧美一区二区在线观看| 在线成人av影院| 97超碰欧美中文字幕| 国内成+人亚洲+欧美+综合在线| 亚洲精品免费在线| 欧美高清在线视频| 2欧美一区二区三区在线观看视频| 欧美在线一区二区三区| 99天天综合性| 成人综合在线视频| 久久成人av少妇免费| 首页亚洲欧美制服丝腿| 一区二区三区在线影院| 国产精品久久久久永久免费观看| 精品国精品国产尤物美女| 欧美视频日韩视频| 91看片淫黄大片一级在线观看| 国产精品中文有码| 久久国产精品99久久久久久老狼 | 91一区二区三区在线播放| 久久久久青草大香线综合精品| 美女网站色91| 午夜精品久久久久| 加勒比av一区二区| 欧美亚洲国产bt| 制服.丝袜.亚洲.另类.中文| 欧美日本在线看| 99国产一区二区三精品乱码| 一区二区三区精品在线观看| 亚洲人成在线播放网站岛国| 亚洲成人激情综合网| 中文字幕av资源一区| 91看片淫黄大片一级在线观看| 成人综合在线观看| 欧美aaaaa成人免费观看视频| 欧美精品粉嫩高潮一区二区| 精品一区二区三区的国产在线播放| 欧美不卡激情三级在线观看| 日本人妖一区二区| 久久久影院官网| 国产精品欧美久久久久一区二区| 国产午夜亚洲精品羞羞网站| 欧美猛男男办公室激情| 欧美日韩国产电影| 一本大道av伊人久久综合| 国模大尺度一区二区三区| 亚洲少妇屁股交4| 精品成a人在线观看| 色偷偷成人一区二区三区91| 高清成人免费视频| 国产一区二区成人久久免费影院| 天堂一区二区在线| 中文欧美字幕免费| 国产欧美日韩在线看| 日韩一区二区视频在线观看| 高清在线观看日韩| 日本怡春院一区二区| 日韩午夜激情av| 捆绑紧缚一区二区三区视频| 国产视频一区二区在线| 中文字幕日韩精品一区 | 国产一区二区伦理片| 国产盗摄一区二区| 成人99免费视频| 日韩一二三区视频| 久久精品夜色噜噜亚洲aⅴ| 欧美激情一区三区| 舔着乳尖日韩一区| 亚洲一区二区三区免费视频| 国产女人18水真多18精品一级做| 欧美一区二区三区精品| 日本电影欧美片| aaa欧美大片| 国产三级精品三级| 国产凹凸在线观看一区二区 | 欧美男女性生活在线直播观看| 欧美大片在线观看一区二区| 国产精品日日摸夜夜摸av| 亚洲午夜精品一区二区三区他趣| 久久99精品久久只有精品| 成人深夜在线观看| 3d成人h动漫网站入口| 中文字幕一区二区三区四区不卡 | 国产成人在线视频网址| 在线免费观看不卡av| 日韩精品在线网站| 亚洲色图一区二区三区| 麻豆精品视频在线观看免费 | 国产99精品国产| 欧美色电影在线| 日本一区二区三区视频视频| 日韩av中文字幕一区二区三区 | 午夜a成v人精品| 成人午夜电影网站| 日韩欧美www| 亚洲国产乱码最新视频 | 亚洲免费视频成人| 精品夜夜嗨av一区二区三区| 欧美天堂一区二区三区| 中文字幕日本不卡| 精品在线一区二区| 9191精品国产综合久久久久久| 久久影院午夜片一区| 欧美tickling网站挠脚心| 在线免费亚洲电影| 国产九色sp调教91| 久久亚洲精精品中文字幕早川悠里| 日韩毛片精品高清免费| 久久国产麻豆精品| 亚洲女同女同女同女同女同69| 国产传媒日韩欧美成人| 国产偷国产偷亚洲高清人白洁| 日本中文字幕一区二区视频 | 亚洲精品一区二区三区蜜桃下载| 亚洲国产成人av网| 99精品欧美一区| 中文字幕av一区二区三区高| 精品亚洲国产成人av制服丝袜| 日韩欧美国产一区在线观看| 婷婷久久综合九色综合伊人色| 在线一区二区三区做爰视频网站| 亚洲欧洲av在线| 国产成人精品1024| 欧美国产日韩精品免费观看| 国产老妇另类xxxxx| 国产日韩综合av| 成人网页在线观看| 国产精品久久久久久福利一牛影视| 国产精品亚洲第一| 欧美国产成人在线| 成人黄色免费短视频| 国产精品久久久久久久久搜平片| 成人一区二区视频| 日韩一区在线看| 色婷婷狠狠综合| 亚洲午夜激情网页| 91精品国产91热久久久做人人 | 337p粉嫩大胆噜噜噜噜噜91av | 国产麻豆日韩欧美久久| 精品福利视频一区二区三区| 国产麻豆视频一区| 日韩理论片网站| 欧美三级在线看| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美电影免费观看高清完整版在线 | 色婷婷激情综合| 午夜精品福利视频网站| 欧美大片免费久久精品三p| 粗大黑人巨茎大战欧美成人| 综合久久久久综合| 欧美色图在线观看| 另类调教123区|