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

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

?? lib_at91sam7x256.h

?? ADS編譯環境 uCOS2.83 移植到 AT91SAM7xc256
?? H
?? 第 1 頁 / 共 5 頁
字號:
{
        return pPio->PIO_PPUSR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PIO_IsOutputDataStatusSet
//* \brief Test if PIO Output Data Status is Set 
//*----------------------------------------------------------------------------
__inline int AT91F_PIO_IsOutputDataStatusSet(
        AT91PS_PIO pPio,   // \arg  pointer to a PIO controller
        unsigned int flag) // \arg  flag to be tested
{
        return (AT91F_PIO_GetOutputDataStatus(pPio) & flag);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PIO_IsCfgPullupStatusSet
//* \brief Test if PIO Configuration Pullup Status is Set
//*----------------------------------------------------------------------------
__inline int AT91F_PIO_IsCfgPullupStatusSet(
        AT91PS_PIO pPio,   // \arg  pointer to a PIO controller
        unsigned int flag) // \arg  flag to be tested
{
        return (~AT91F_PIO_GetCfgPullup(pPio) & flag);
}

/* *****************************************************************************
                SOFTWARE API FOR PMC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_CfgSysClkEnableReg
//* \brief Configure the System Clock Enable Register of the PMC controller
//*----------------------------------------------------------------------------
__inline void AT91F_PMC_CfgSysClkEnableReg (
	AT91PS_PMC pPMC, // \arg pointer to PMC controller
	unsigned int mode)
{
	//* Write to the SCER register
	pPMC->PMC_SCER = mode;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_CfgSysClkDisableReg
//* \brief Configure the System Clock Disable Register of the PMC controller
//*----------------------------------------------------------------------------
__inline void AT91F_PMC_CfgSysClkDisableReg (
	AT91PS_PMC pPMC, // \arg pointer to PMC controller
	unsigned int mode)
{
	//* Write to the SCDR register
	pPMC->PMC_SCDR = mode;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_GetSysClkStatusReg
//* \brief Return the System Clock Status Register of the PMC controller
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_GetSysClkStatusReg (
	AT91PS_PMC pPMC // pointer to a CAN controller
	)
{
	return pPMC->PMC_SCSR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_EnablePeriphClock
//* \brief Enable peripheral clock
//*----------------------------------------------------------------------------
__inline 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 Disable peripheral clock
//*----------------------------------------------------------------------------
__inline 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_GetPeriphClock
//* \brief Get peripheral clock status
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_GetPeriphClock (
	AT91PS_PMC pPMC) // \arg pointer to PMC controller
{
	return pPMC->PMC_PCSR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_CfgMainOscillatorReg
//* \brief Cfg the main oscillator
//*----------------------------------------------------------------------------
__inline void AT91F_CKGR_CfgMainOscillatorReg (
	AT91PS_CKGR pCKGR, // \arg pointer to CKGR controller
	unsigned int mode)
{
	pCKGR->CKGR_MOR = mode;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_GetMainOscillatorReg
//* \brief Cfg the main oscillator
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_CKGR_GetMainOscillatorReg (
	AT91PS_CKGR pCKGR) // \arg pointer to CKGR controller
{
	return pCKGR->CKGR_MOR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_EnableMainOscillator
//* \brief Enable the main oscillator
//*----------------------------------------------------------------------------
__inline void AT91F_CKGR_EnableMainOscillator(
	AT91PS_CKGR pCKGR) // \arg pointer to CKGR controller
{
	pCKGR->CKGR_MOR |= AT91C_CKGR_MOSCEN;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_DisableMainOscillator
//* \brief Disable the main oscillator
//*----------------------------------------------------------------------------
__inline void AT91F_CKGR_DisableMainOscillator (
	AT91PS_CKGR pCKGR) // \arg pointer to CKGR controller
{
	pCKGR->CKGR_MOR &= ~AT91C_CKGR_MOSCEN;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_CfgMainOscStartUpTime
//* \brief Cfg MOR Register according to the main osc startup time
//*----------------------------------------------------------------------------
__inline void AT91F_CKGR_CfgMainOscStartUpTime (
	AT91PS_CKGR pCKGR, // \arg pointer to CKGR controller
	unsigned int startup_time,  // \arg main osc startup time in microsecond (us)
	unsigned int slowClock)  // \arg slowClock in Hz
{
	pCKGR->CKGR_MOR &= ~AT91C_CKGR_OSCOUNT;
	pCKGR->CKGR_MOR |= ((slowClock * startup_time)/(8*1000000)) << 8;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_GetMainClockFreqReg
//* \brief Cfg the main oscillator
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_CKGR_GetMainClockFreqReg (
	AT91PS_CKGR pCKGR) // \arg pointer to CKGR controller
{
	return pCKGR->CKGR_MCFR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_CKGR_GetMainClock
//* \brief Return Main clock in Hz
//*----------------------------------------------------------------------------
__inline 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_CfgMCKReg
//* \brief Cfg Master Clock Register
//*----------------------------------------------------------------------------
__inline void AT91F_PMC_CfgMCKReg (
	AT91PS_PMC pPMC, // \arg pointer to PMC controller
	unsigned int mode)
{
	pPMC->PMC_MCKR = mode;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_GetMCKReg
//* \brief Return Master Clock Register
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_GetMCKReg(
	AT91PS_PMC pPMC) // \arg pointer to PMC controller
{
	return pPMC->PMC_MCKR;
}

//*------------------------------------------------------------------------------
//* \fn    AT91F_PMC_GetMasterClock
//* \brief Return master clock in Hz which correponds to processor clock for ARM7
//*------------------------------------------------------------------------------
__inline 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
{
	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_PLL_CLK: // PLLB clock is selected
			reg = pCKGR->CKGR_PLLR;
			pllDivider    = (reg  & AT91C_CKGR_DIV);
			pllMultiplier = ((reg  & AT91C_CKGR_MUL) >> 16) + 1;
			return AT91F_CKGR_GetMainClock(pCKGR, slowClock) / pllDivider * pllMultiplier / prescaler;
	}
	return 0;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_EnablePCK
//* \brief Enable peripheral clock
//*----------------------------------------------------------------------------
__inline void AT91F_PMC_EnablePCK (
	AT91PS_PMC pPMC, // \arg pointer to PMC controller
	unsigned int pck,  // \arg Peripheral clock identifier 0 .. 7
	unsigned int mode)
{
	pPMC->PMC_PCKR[pck] = mode;
	pPMC->PMC_SCER = (1 << pck) << 8;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_DisablePCK
//* \brief Enable peripheral clock
//*----------------------------------------------------------------------------
__inline 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;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_EnableIt
//* \brief Enable PMC interrupt
//*----------------------------------------------------------------------------
__inline void AT91F_PMC_EnableIt (
	AT91PS_PMC pPMC,     // pointer to a PMC controller
	unsigned int flag)   // IT to be enabled
{
	//* Write to the IER register
	pPMC->PMC_IER = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_DisableIt
//* \brief Disable PMC interrupt
//*----------------------------------------------------------------------------
__inline void AT91F_PMC_DisableIt (
	AT91PS_PMC pPMC, // pointer to a PMC controller
	unsigned int flag) // IT to be disabled
{
	//* Write to the IDR register
	pPMC->PMC_IDR = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_GetStatus
//* \brief Return PMC Interrupt Status
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_GetStatus( // \return PMC Interrupt Status
	AT91PS_PMC pPMC) // pointer to a PMC controller
{
	return pPMC->PMC_SR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_GetInterruptMaskStatus
//* \brief Return PMC Interrupt Mask Status
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_GetInterruptMaskStatus( // \return PMC Interrupt Mask Status
	AT91PS_PMC pPMC) // pointer to a PMC controller
{
	return pPMC->PMC_IMR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_IsInterruptMasked
//* \brief Test if PMC Interrupt is Masked
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_IsInterruptMasked(
        AT91PS_PMC pPMC,   // \arg  pointer to a PMC controller
        unsigned int flag) // \arg  flag to be tested
{
	return (AT91F_PMC_GetInterruptMaskStatus(pPMC) & flag);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PMC_IsStatusSet
//* \brief Test if PMC Status is Set
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PMC_IsStatusSet(
        AT91PS_PMC pPMC,   // \arg  pointer to a PMC controller
        unsigned int flag) // \arg  flag to be tested
{
	return (AT91F_PMC_GetStatus(pPMC) & flag);
}

// ----------------------------------------------------------------------------
//  \fn    AT91F_CKGR_CfgPLLReg
//  \brief Cfg the PLL Register
// ----------------------------------------------------------------------------
__inline void AT91F_CKGR_CfgPLLReg (
	AT91PS_CKGR pCKGR, // \arg pointer to CKGR controller
	unsigned int mode)
{
	pCKGR->CKGR_PLLR = mode;
}

// ----------------------------------------------------------------------------
//  \fn    AT91F_CKGR_GetPLLReg
//  \brief Get the PLL Register
// ----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久久久久蜜桃| 国产91精品在线观看| 欧美国产日韩精品免费观看| 欧美精品日韩一本| 国产欧美日韩一区二区三区在线观看| 日韩欧美的一区| 日韩一区国产二区欧美三区| 日韩一卡二卡三卡| 国产成人久久精品77777最新版本| 日韩二区三区在线观看| 免费欧美在线视频| 国产精品夜夜嗨| 99免费精品视频| 色呦呦国产精品| 欧美视频自拍偷拍| 欧美一级高清片在线观看| 国产精品亚洲一区二区三区在线| 欧美一级免费观看| 色综合久久久久| 国产欧美一区二区精品性色| 麻豆成人免费电影| 国产aⅴ综合色| 欧美哺乳videos| 亚洲欧洲成人自拍| 亚洲1区2区3区视频| 日韩av一级电影| 欧美三级中文字幕在线观看| 精品日韩在线一区| 日本人妖一区二区| 91麻豆精品国产91久久久| 中文字幕免费一区| 成人丝袜18视频在线观看| 欧美亚洲国产bt| 亚洲一区二区三区三| 加勒比av一区二区| 日本电影亚洲天堂一区| 久久综合99re88久久爱| 亚洲欧美精品午睡沙发| 奇米亚洲午夜久久精品| 欧美一级淫片007| 精品一区二区免费在线观看| 久久精品人人做人人爽97 | 国产精品伊人色| 久久免费视频一区| 婷婷综合五月天| 高清不卡在线观看| 韩国欧美一区二区| 色菇凉天天综合网| 亚洲午夜精品网| 一本大道久久a久久综合婷婷| 亚洲蜜桃精久久久久久久| 91福利国产精品| 日本女人一区二区三区| 久久亚洲一区二区三区明星换脸 | 成人黄色免费短视频| 欧美一区二区三区在线电影| 久久99国产精品免费| 国产精品区一区二区三区| 男女激情视频一区| 日本一区二区成人| 欧美日韩大陆一区二区| 亚洲免费观看高清完整版在线观看 | 国产精品久久精品日日| 久久精品久久精品| 欧美精品日日鲁夜夜添| 国产精品小仙女| 亚洲欧美视频在线观看| 欧美一区二区三区在线视频| 岛国精品在线观看| 亚洲va韩国va欧美va精品| 精品裸体舞一区二区三区| voyeur盗摄精品| 蜜桃av一区二区在线观看| 中文字幕欧美一| 欧美一区二区性放荡片| av亚洲产国偷v产偷v自拍| 日韩**一区毛片| 亚洲男女一区二区三区| 精品国产乱码久久久久久久久| 日韩av高清在线观看| 成人免费视频在线观看| 欧美α欧美αv大片| 在线精品视频免费播放| 一区二区三区国产精华| 欧美日韩久久久| av资源网一区| 国产在线一区二区综合免费视频| 一区二区三区美女视频| 国产日韩一级二级三级| 777久久久精品| 91色视频在线| 亚洲chinese男男1069| 一区精品在线播放| 久久精品一二三| 日韩一级二级三级精品视频| 欧美色偷偷大香| 91视频免费观看| 99久久精品免费观看| 亚洲综合在线视频| 国产欧美一区二区三区网站| 精品少妇一区二区三区免费观看| 欧美久久久久中文字幕| 欧美网站大全在线观看| 91丨九色丨国产丨porny| 成+人+亚洲+综合天堂| 国产精品一区二区三区99 | 亚洲午夜久久久| 亚洲黄色尤物视频| 欧美一区二区三区四区视频| 欧美三电影在线| 色婷婷精品久久二区二区蜜臀av| jlzzjlzz欧美大全| 不卡电影免费在线播放一区| 成人精品鲁一区一区二区| 成人一区二区三区| www.亚洲人| 色香蕉久久蜜桃| 欧洲国内综合视频| 欧美三级中文字| 777欧美精品| 久久影院电视剧免费观看| 国产午夜精品一区二区| 国产精品免费aⅴ片在线观看| 亚洲精品日产精品乱码不卡| 精品女同一区二区| 久久综合色婷婷| 久久综合九色综合97_久久久| 久久久不卡网国产精品二区| 美女精品一区二区| 狠狠色丁香久久婷婷综合_中| 国产一区二区三区在线观看免费 | 久久久蜜桃精品| 国产精品私人影院| 亚洲欧美怡红院| 午夜精品久久一牛影视| 麻豆91精品91久久久的内涵| 国产大陆亚洲精品国产| 99在线视频精品| 欧美裸体一区二区三区| 精品国产乱码久久久久久久 | av电影一区二区| 欧美午夜精品一区二区三区| 日韩一区二区在线观看视频| 国产视频不卡一区| 亚洲一区自拍偷拍| 亚洲第一搞黄网站| 亚洲欧洲日韩一区二区三区| 亚洲欧洲综合另类在线| 午夜精品久久久久久不卡8050| 六月丁香婷婷久久| 99视频在线观看一区三区| 欧美高清视频不卡网| 久久夜色精品国产欧美乱极品| 亚洲欧美日韩电影| 老司机免费视频一区二区 | 亚洲va韩国va欧美va精品| 激情综合色综合久久| 色综合久久综合网| 亚洲精品在线三区| 一区二区三区四区激情| 国产麻豆精品95视频| 欧美视频在线一区二区三区 | 国产午夜三级一区二区三| 国产婷婷色一区二区三区四区 | 欧美精品自拍偷拍动漫精品| 久久夜色精品国产噜噜av| 国产精品午夜电影| 奇米777欧美一区二区| 99久久婷婷国产精品综合| 精品女同一区二区| 一区二区在线观看视频| 粉嫩一区二区三区在线看| 7777精品久久久大香线蕉| 亚洲男同性恋视频| 国产精品911| 精品美女在线观看| 无码av中文一区二区三区桃花岛| 99国产一区二区三精品乱码| 精品国产一区二区三区av性色| 亚洲国产精品久久久男人的天堂 | 亚洲一区二区不卡免费| 成人精品鲁一区一区二区| 精品国产一区久久| 日本最新不卡在线| 欧美日韩高清在线| 伊人性伊人情综合网| 99精品在线免费| 国产精品入口麻豆九色| 国产精品影视网| 久久九九全国免费| 精品中文字幕一区二区小辣椒| 欧美日韩情趣电影| 一区二区三区视频在线看| 不卡一区二区在线| 国产精品每日更新| 成人avav影音| 亚洲私人影院在线观看| 亚洲欧美日韩在线播放| av在线播放成人| 成人免费一区二区三区视频|