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

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

?? lib_at91rm9200.c

?? 該源碼是AT91RM9200處理器的loader文件
?? C
?? 第 1 頁 / 共 5 頁
字號:
	char PCS_Device) // PCS of the Device{	 	//* Write to the MR register	pSPI->SPI_MR &= 0xFFF0FFFF;	pSPI->SPI_MR |= ( (PCS_Device<<16) & AT91C_SPI_PCS );}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_ReceiveFrame//* \brief Return 2 if PDC has been initialized with Buffer and Next Buffer, 1 if PDC has been initializaed with Next Buffer, 0 if PDC is busy//*---------------------------------------------------------------------------- unsigned int AT91F_SPI_ReceiveFrame (	AT91PS_SPI pSPI,	char *pBuffer,	unsigned int szBuffer,	char *pNextBuffer,	unsigned int szNextBuffer ){	return AT91F_PDC_ReceiveFrame(		(AT91PS_PDC) &(pSPI->SPI_RPR),		pBuffer,		szBuffer,		pNextBuffer,		szNextBuffer);}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_SendFrame//* \brief Return 2 if PDC has been initialized with Buffer and Next Buffer, 1 if PDC has been initializaed with Next Buffer, 0 if PDC is bSPIy//*---------------------------------------------------------------------------- unsigned int AT91F_SPI_SendFrame(	AT91PS_SPI pSPI,	char *pBuffer,	unsigned int szBuffer,	char *pNextBuffer,	unsigned int szNextBuffer ){	return AT91F_PDC_SendFrame(		(AT91PS_PDC) &(pSPI->SPI_RPR),		pBuffer,		szBuffer,		pNextBuffer,		szNextBuffer);}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_Close//* \brief Close SPI: disable IT disable transfert, close PDC//*---------------------------------------------------------------------------- void AT91F_SPI_Close (	AT91PS_SPI pSPI)     // \arg pointer to a SPI controller{    //* Reset all the Chip Select register    pSPI->SPI_CSR[0] = 0 ;    pSPI->SPI_CSR[1] = 0 ;    pSPI->SPI_CSR[2] = 0 ;    pSPI->SPI_CSR[3] = 0 ;    //* Reset the SPI mode    pSPI->SPI_MR = 0  ;    //* Disable all interrupts    pSPI->SPI_IDR = 0xFFFFFFFF ;    //* Abort the Peripheral Data Transfers    AT91F_PDC_Close((AT91PS_PDC) &(pSPI->SPI_RPR));    //* Disable receiver and transmitter and stop any activity immediately    pSPI->SPI_CR = AT91C_SPI_SPIDIS;}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_PutChar//* \brief Send a character,does not check if ready to send//*---------------------------------------------------------------------------- void AT91F_SPI_PutChar (	AT91PS_SPI pSPI,	unsigned int character,             unsigned int cs_number ){    unsigned int value_for_cs;    value_for_cs = (~(1 << cs_number)) & 0xF;  //Place a zero among a 4 ONEs number    pSPI->SPI_TDR = (character & 0xFFFF) | (value_for_cs << 16);}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_GetChar//* \brief Receive a character,does not check if a character is available//*---------------------------------------------------------------------------- int AT91F_SPI_GetChar (	const AT91PS_SPI pSPI){    return((pSPI->SPI_RDR) & 0xFFFF);}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_GetInterruptMaskStatus//* \brief Return SPI Interrupt Mask Status//*---------------------------------------------------------------------------- unsigned int AT91F_SPI_GetInterruptMaskStatus( // \return SPI Interrupt Mask Status        AT91PS_SPI pSpi) // \arg  pointer to a SPI controller{        return pSpi->SPI_IMR;}//*----------------------------------------------------------------------------//* \fn    AT91F_SPI_IsInterruptMasked//* \brief Test if SPI Interrupt is Masked //*---------------------------------------------------------------------------- int AT91F_SPI_IsInterruptMasked(        AT91PS_SPI pSpi,   // \arg  pointer to a SPI controller        unsigned int flag) // \arg  flag to be tested{        return (AT91F_SPI_GetInterruptMaskStatus(pSpi) & flag);}/* *****************************************************************************                SOFTWARE API FOR TC   ***************************************************************************** *///*----------------------------------------------------------------------------//* \fn    AT91F_TC_InterruptEnable//* \brief Enable TC Interrupt//*---------------------------------------------------------------------------- void AT91F_TC_InterruptEnable(        AT91PS_TC pTc,   // \arg  pointer to a TC controller        unsigned int flag) // \arg  TC interrupt to be enabled{        pTc->TC_IER = flag;}//*----------------------------------------------------------------------------//* \fn    AT91F_TC_InterruptDisable//* \brief Disable TC Interrupt//*---------------------------------------------------------------------------- void AT91F_TC_InterruptDisable(        AT91PS_TC pTc,   // \arg  pointer to a TC controller        unsigned int flag) // \arg  TC interrupt to be disabled{        pTc->TC_IDR = flag;}//*----------------------------------------------------------------------------//* \fn    AT91F_TC_GetInterruptMaskStatus//* \brief Return TC Interrupt Mask Status//*---------------------------------------------------------------------------- unsigned int AT91F_TC_GetInterruptMaskStatus( // \return TC Interrupt Mask Status        AT91PS_TC pTc) // \arg  pointer to a TC controller{        return pTc->TC_IMR;}//*----------------------------------------------------------------------------//* \fn    AT91F_TC_IsInterruptMasked//* \brief Test if TC Interrupt is Masked //*---------------------------------------------------------------------------- int AT91F_TC_IsInterruptMasked(        AT91PS_TC pTc,   // \arg  pointer to a TC controller        unsigned int flag) // \arg  flag to be tested{        return (AT91F_TC_GetInterruptMaskStatus(pTc) & flag);}/* *****************************************************************************                SOFTWARE API FOR PMC   ***************************************************************************** *///*----------------------------------------------------------------------------//* \fn    AT91F_CKGR_GetMainClock//* \brief Return Main clock in Hz//*---------------------------------------------------------------------------- unsigned int AT91F_CKGR_GetMainClock (	AT91PS_CKGR pCKGR, // \arg pointer to CKGR controller	unsigned int slowClock)  // \arg slowClock in Hz{	return ((pCKGR->CKGR_MCFR  & AT91C_CKGR_MAINF) * slowClock) >> 4;}//*----------------------------------------------------------------------------//* \fn    AT91F_PMC_GetProcessorClock//* \brief Return processor clock in Hz (for AT91RM3400 and AT91RM9200)//*---------------------------------------------------------------------------- unsigned int AT91F_PMC_GetProcessorClock (	AT91PS_PMC pPMC, // \arg pointer to PMC controller	AT91PS_CKGR pCKGR, // \arg pointer to CKGR controller	unsigned int slowClock)  // \arg slowClock in Hz{	unsigned int reg = pPMC->PMC_MCKR;	unsigned int prescaler = (1 << ((reg & AT91C_PMC_PRES) >> 2));	unsigned int pllDivider, pllMultiplier;	switch (reg & AT91C_PMC_CSS) {		case AT91C_PMC_CSS_SLOW_CLK: // Slow clock selected			return slowClock / prescaler;		case AT91C_PMC_CSS_MAIN_CLK: // Main clock is selected			return AT91F_CKGR_GetMainClock(pCKGR, slowClock) / prescaler;		case AT91C_PMC_CSS_PLLA_CLK: // PLLA clock is selected			reg = pCKGR->CKGR_PLLAR;			pllDivider    = (reg  & AT91C_CKGR_DIVA);			pllMultiplier = ((reg  & AT91C_CKGR_MULA) >> 16) + 1;			if (reg & AT91C_CKGR_SRCA) // Source is Main clock				return AT91F_CKGR_GetMainClock(pCKGR, slowClock) / pllDivider * pllMultiplier / prescaler;			else                       // Source is Slow clock				return slowClock / pllDivider * pllMultiplier / prescaler;		case AT91C_PMC_CSS_PLLB_CLK: // PLLB clock is selected			reg = pCKGR->CKGR_PLLBR;			pllDivider    = (reg  & AT91C_CKGR_DIVB);			pllMultiplier = ((reg  & AT91C_CKGR_MULB) >> 16) + 1;			return AT91F_CKGR_GetMainClock(pCKGR, slowClock) / pllDivider * pllMultiplier / prescaler;	}	return 0;}//*----------------------------------------------------------------------------//* \fn    AT91F_PMC_GetMasterClock//* \brief Return master clock in Hz (just for AT91RM9200)//*---------------------------------------------------------------------------- unsigned int AT91F_PMC_GetMasterClock (	AT91PS_PMC pPMC, // \arg pointer to PMC controller	AT91PS_CKGR pCKGR, // \arg pointer to CKGR controller	unsigned int slowClock)  // \arg slowClock in Hz{	return AT91F_PMC_GetProcessorClock(pPMC, pCKGR, slowClock) /		(((pPMC->PMC_MCKR & AT91C_PMC_MDIV) >> 8)+1);}//*----------------------------------------------------------------------------//* \fn    AT91F_PMC_EnablePeriphClock//* \brief Enable peripheral clock//*---------------------------------------------------------------------------- void AT91F_PMC_EnablePeriphClock (	AT91PS_PMC pPMC, // \arg pointer to PMC controller	unsigned int periphIds)  // \arg IDs of peripherals to enable{	pPMC->PMC_PCER = periphIds;}//*----------------------------------------------------------------------------//* \fn    AT91F_PMC_DisablePeriphClock//* \brief Enable peripheral clock//*---------------------------------------------------------------------------- void AT91F_PMC_DisablePeriphClock (	AT91PS_PMC pPMC, // \arg pointer to PMC controller	unsigned int periphIds)  // \arg IDs of peripherals to enable{	pPMC->PMC_PCDR = periphIds;}//*----------------------------------------------------------------------------//* \fn    AT91F_PMC_EnablePCK//* \brief Enable peripheral clock//*---------------------------------------------------------------------------- void AT91F_PMC_EnablePCK (	AT91PS_PMC pPMC, // \arg pointer to PMC controller	unsigned int pck,  // \arg Peripheral clock identifier 0 .. 7	unsigned int ccs,  // \arg clock selection: AT91C_PMC_CSS_SLOW_CLK, AT91C_PMC_CSS_MAIN_CLK, AT91C_PMC_CSS_PLLA_CLK, AT91C_PMC_CSS_PLLB_CLK	unsigned int pres) // \arg Programmable clock prescalar AT91C_PMC_PRES_CLK, AT91C_PMC_PRES_CLK_2, ..., AT91C_PMC_PRES_CLK_64{	pPMC->PMC_PCKR[pck] = ccs | pres;	pPMC->PMC_SCER = (1 << pck) << 8;}//*----------------------------------------------------------------------------//* \fn    AT91F_PMC_DisablePCK//* \brief Enable peripheral clock//*---------------------------------------------------------------------------- void AT91F_PMC_DisablePCK (	AT91PS_PMC pPMC, // \arg pointer to PMC controller	unsigned int pck)  // \arg Peripheral clock identifier 0 .. 7{	pPMC->PMC_SCDR = (1 << pck) << 8;}/* *****************************************************************************                SOFTWARE API FOR PIO   ***************************************************************************** *///*----------------------------------------------------------------------------//* \fn    AT91F_PIO_CfgPeriph//* \brief Enable pins to be drived by peripheral//*---------------------------------------------------------------------------- void AT91F_PIO_CfgPeriph(	AT91PS_PIO pPio,             // \arg pointer to a PIO controller	unsigned int periphAEnable,  // \arg PERIPH A to enable	unsigned int periphBEnable)  // \arg PERIPH B to enable{	pPio->PIO_ASR = periphAEnable;	pPio->PIO_BSR = periphBEnable;	pPio->PIO_PDR = (periphAEnable | periphBEnable); // Set in Periph mode}//*----------------------------------------------------------------------------//* \fn    AT91F_PIO_CfgOutput//* \brief Enable PIO in output mode//*---------------------------------------------------------------------------- void AT91F_PIO_CfgOutput(	AT91PS_PIO pPio,             // \arg pointer to a PIO controller	unsigned int pioEnable)      // \arg PIO to be enabled{	pPio->PIO_PER = pioEnable; // Set in PIO mode	pPio->PIO_OER = pioEnable; // Configure in Output}//*----------------------------------------------------------------------------//* \fn    AT91F_PIO_CfgInput//* \brief Enable PIO in input mode//*---------------------------------------------------------------------------- void AT91F_PIO_CfgInput(	AT91PS_PIO pPio,             // \arg pointer to a PIO controller	unsigned int inputEnable)      // \arg PIO to be enabled{	// Disable output	pPio->PIO_ODR  = inputEnable;	pPio->PIO_PER  = inputEnable;}//*----------------------------------------------------------------------------//* \fn    AT91F_PIO_CfgOpendrain//* \brief Configure PIO in open drain//*---------------------------------------------------------------------------- void AT91F_PIO_CfgOpendrain(	AT91PS_PIO pPio,             // \arg pointer to a PIO controller	unsigned int multiDrvEnable) // \arg pio to be configured in open drain{	// Configure the multi-drive option	pPio->PIO_MDDR = ~multiDrvEnable;	pPio->PIO_MDER = multiDrvEnable;}//*----------------------------------------------------------------------------//* \fn    AT91F_PIO_CfgPullup//* \brief Enable pullup on PIO//*---------------------------------------------------------------------------- void AT91F_PIO_CfgPullup(	AT91PS_PIO pPio,             // \arg pointer to a PIO controller	unsigned int pullupEnable)   // \arg enable pullup on PIO{		// Connect or not Pullup	pPio->PIO_PPUDR = ~pullupEnable;	pPio->PIO_PPUER = pullupEnable;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲愉拍自拍另类高清精品| 国产精品99久久久久久久女警| 日韩在线一区二区| 国产99久久久国产精品免费看| 欧美亚洲国产一区在线观看网站| 91麻豆精品国产91久久久久| 亚洲免费在线观看视频| 精品亚洲成a人在线观看| 色8久久精品久久久久久蜜| 精品福利一区二区三区免费视频| 一区二区三区四区五区视频在线观看 | 色狠狠av一区二区三区| 精品欧美一区二区久久| 亚洲国产三级在线| zzijzzij亚洲日本少妇熟睡| 日韩精品资源二区在线| 亚洲一级二级三级| 97久久精品人人爽人人爽蜜臀| 日韩视频一区在线观看| 亚洲mv在线观看| 色av综合在线| 亚洲男人的天堂在线aⅴ视频| 国产毛片精品国产一区二区三区| 欧美日韩一二三| 亚洲色图视频网| a在线欧美一区| 国产日韩欧美精品一区| 久久av资源网| 久久综合九色综合97_久久久| 天天色图综合网| 精品视频一区 二区 三区| 亚洲男人的天堂网| 色呦呦国产精品| 亚洲视频中文字幕| 一本色道综合亚洲| 伊人婷婷欧美激情| 91美女片黄在线观看91美女| 一区精品在线播放| 91麻豆文化传媒在线观看| 亚洲精品亚洲人成人网| 色一情一乱一乱一91av| 亚洲日本欧美天堂| 色婷婷一区二区三区四区| 亚洲精品五月天| 欧美日韩国产精品成人| 午夜伊人狠狠久久| 在线不卡一区二区| 国产综合一区二区| 欧美极品aⅴ影院| 99免费精品在线观看| 亚洲视频你懂的| 欧美性猛交xxxx乱大交退制版| 亚洲成va人在线观看| 欧美一区二区女人| 国产在线国偷精品免费看| 欧美国产视频在线| 一本久久a久久精品亚洲| 亚洲国产精品尤物yw在线观看| 91精品国产综合久久精品图片| 精品系列免费在线观看| 国产三区在线成人av| 91麻豆国产在线观看| 亚洲va天堂va国产va久| 国产午夜精品久久久久久久 | 久久国产日韩欧美精品| 日韩三级电影网址| 成人丝袜18视频在线观看| 亚洲精品菠萝久久久久久久| 欧美日韩国产一级二级| 久久国产免费看| 综合中文字幕亚洲| 日韩一区二区电影网| 成a人片亚洲日本久久| 亚洲最大成人综合| 久久久精品日韩欧美| 色天天综合久久久久综合片| 麻豆精品一区二区三区| 亚洲精品中文在线影院| 精品福利一区二区三区免费视频| 色88888久久久久久影院野外| 看电视剧不卡顿的网站| 亚洲人妖av一区二区| 亚洲精品一区二区三区福利| 91美女在线看| 成人性色生活片| 捆绑变态av一区二区三区| 国产精品久久久久久久久免费丝袜| 欧美精选在线播放| 色哟哟一区二区在线观看| 国产成人精品影视| 日韩福利视频网| 亚洲欧美精品午睡沙发| 2020国产精品| 91精品一区二区三区在线观看| 成人av资源网站| 韩国三级在线一区| 亚洲国产成人porn| 亚洲男人天堂一区| 中文字幕制服丝袜成人av| 日韩免费视频一区二区| 欧美卡1卡2卡| 成人黄色一级视频| 国产成人av电影在线| 蜜桃精品在线观看| 丝瓜av网站精品一区二区| 亚洲欧洲另类国产综合| 欧美国产综合一区二区| 欧美成人三级电影在线| 91精品黄色片免费大全| 91麻豆精品国产91久久久资源速度| 在线观看不卡一区| 在线一区二区三区| 色屁屁一区二区| 色婷婷综合激情| 欧美性xxxxx极品少妇| 色视频一区二区| 欧美性一二三区| 欧洲一区二区三区免费视频| 色综合天天综合网天天狠天天| 国产在线精品不卡| 国产乱对白刺激视频不卡| 日韩精品免费视频人成| 亚洲一区二区三区在线看| 综合婷婷亚洲小说| 亚洲综合一区二区精品导航| 亚洲国产视频直播| 日本女人一区二区三区| 人人精品人人爱| 久久99国产乱子伦精品免费| 国产一区 二区 三区一级| 国产美女精品人人做人人爽| 国产一区二区三区在线看麻豆| 国产经典欧美精品| 99re这里只有精品首页| 91国产成人在线| 91精品国产色综合久久不卡蜜臀 | 国产精品亚洲成人| 粉嫩aⅴ一区二区三区四区五区| 成人国产精品免费| 欧美网站大全在线观看| 正在播放亚洲一区| 国产午夜精品美女毛片视频| 亚洲四区在线观看| 青娱乐精品在线视频| 国产麻豆91精品| 99精品视频在线免费观看| 欧美亚洲综合另类| 337p粉嫩大胆色噜噜噜噜亚洲| 国产欧美综合在线观看第十页| 亚洲激情自拍视频| 激情成人午夜视频| 91在线视频在线| 日韩欧美成人午夜| 国产精品白丝在线| 日韩精品亚洲专区| 粉嫩13p一区二区三区| 欧美性感一类影片在线播放| 久久天天做天天爱综合色| 樱桃国产成人精品视频| 久久爱www久久做| 91麻豆swag| 欧美电影免费观看完整版| 亚洲欧美日韩国产成人精品影院| 蜜臀91精品一区二区三区| 成人看片黄a免费看在线| 欧美日韩精品电影| 中文字幕不卡在线| 日本成人在线不卡视频| 成人av在线看| 日韩视频中午一区| 亚洲欧美另类久久久精品 | 亚洲成av人影院| 国产成人鲁色资源国产91色综| 欧美精品自拍偷拍动漫精品| 国产精品久线观看视频| 男女男精品视频网| 欧美视频在线一区| 亚洲男人天堂av| 成人久久18免费网站麻豆| 91精品国产综合久久婷婷香蕉| 一区二区三区免费| thepron国产精品| 久久综合久久综合九色| 秋霞电影网一区二区| 欧美人与性动xxxx| 亚洲免费在线视频一区 二区| 成人激情综合网站| 国产香蕉久久精品综合网| 日韩不卡手机在线v区| 欧美午夜精品久久久久久超碰| 综合欧美亚洲日本| 成人av电影在线网| 国产免费成人在线视频| 极品销魂美女一区二区三区| 欧美乱妇一区二区三区不卡视频| 一区二区三区不卡视频| 色综合色狠狠综合色| 亚洲欧美区自拍先锋| 色婷婷精品大在线视频| 亚洲精选免费视频|