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

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

?? lib_at91sam7x256.h

?? 測試SPI接口
?? H
?? 第 1 頁 / 共 5 頁
字號:
__inline unsigned int AT91F_PIO_GetCfgPullup( // \return PIO Configuration Pullup
        AT91PS_PIO pPio) // \arg  pointer to a PIO controller
{
        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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品在线观看| 久久久国产精华| 国产精品小仙女| 精品一区二区三区在线观看国产| 一区二区三区欧美在线观看| 成人欧美一区二区三区白人| 国产精品少妇自拍| 亚洲日本免费电影| 亚洲一区二区三区四区的| 亚洲尤物视频在线| 亚洲成在人线在线播放| 亚洲妇女屁股眼交7| 三级欧美韩日大片在线看| 亚洲成a天堂v人片| 人人超碰91尤物精品国产| 日本中文字幕一区二区视频| 久久精品av麻豆的观看方式| 美女视频一区二区三区| 国产一区二区三区观看| 岛国一区二区三区| 欧美中文字幕一区二区三区亚洲| 欧美综合天天夜夜久久| 日韩欧美一级在线播放| 精品毛片乱码1区2区3区| 国产日韩av一区| 亚洲天堂中文字幕| 日本不卡视频一二三区| 国产毛片一区二区| 色猫猫国产区一区二在线视频| 欧美特级限制片免费在线观看| 91精品国产综合久久精品性色| 欧美精品一区二区三区蜜桃视频| 国产精品久久福利| 天天av天天翘天天综合网| 久久国产精品色| 99久久99久久久精品齐齐| 欧美人狂配大交3d怪物一区| 久久―日本道色综合久久| 亚洲色图清纯唯美| 激情都市一区二区| 欧美在线色视频| 国产午夜精品久久久久久久| 亚洲精品中文在线影院| 经典三级在线一区| 欧美性受xxxx黑人xyx| 久久精品一区二区三区不卡 | 日韩一区二区电影网| 久久久久亚洲蜜桃| 亚洲va在线va天堂| www.欧美色图| 精品国产成人在线影院| 亚洲午夜久久久久| 99免费精品视频| 精品日韩欧美在线| 天天av天天翘天天综合网| 成人av手机在线观看| 日韩精品中文字幕在线一区| 亚洲码国产岛国毛片在线| 国产传媒欧美日韩成人| 337p亚洲精品色噜噜噜| 一区二区三区中文在线观看| 成人av电影免费观看| 久久综合久久综合久久综合| 日本女优在线视频一区二区| 亚洲国产成人av| 一本大道久久a久久综合| 国产日韩欧美综合在线| 国内偷窥港台综合视频在线播放| 欧美日韩精品三区| 亚洲九九爱视频| 色婷婷亚洲一区二区三区| 国产精品久久久久久福利一牛影视 | 欧美日韩精品欧美日韩精品| 18成人在线视频| 成人av资源网站| 国产精品久久久久久久久图文区| 国产成人99久久亚洲综合精品| 久久先锋影音av鲁色资源网| 久久91精品久久久久久秒播| 精品国产一区二区亚洲人成毛片| 蜜臀久久99精品久久久久久9| 88在线观看91蜜桃国自产| 日日摸夜夜添夜夜添国产精品| 在线视频你懂得一区| 亚洲午夜在线视频| 欧美一区二区啪啪| 久久黄色级2电影| 久久久99精品免费观看不卡| 国产成人自拍高清视频在线免费播放| 精品嫩草影院久久| 成人福利电影精品一区二区在线观看 | 国产精品毛片无遮挡高清| 国产成人一区在线| 中文字幕一区二区三区在线不卡 | 亚洲精品日日夜夜| 欧美主播一区二区三区美女| 亚洲bdsm女犯bdsm网站| 欧美精品一区在线观看| 激情综合亚洲精品| 国产精品三级电影| 欧美色精品在线视频| 日本不卡的三区四区五区| 久久毛片高清国产| 91精品国产综合久久福利| 国内精品伊人久久久久av一坑| 国产午夜精品久久久久久久 | 亚洲永久精品大片| 欧美一区二区三区精品| 国产一区二区看久久| 日韩理论在线观看| 欧美mv日韩mv亚洲| 成人污视频在线观看| 亚洲一区二区视频| 久久亚洲综合色| 色综合久久综合中文综合网| 美女一区二区三区| 亚洲女女做受ⅹxx高潮| 精品久久一区二区三区| 99久久精品免费看| 日本91福利区| 亚洲欧洲精品一区二区三区不卡| 欧美日本一道本| 粉嫩av一区二区三区粉嫩| 亚洲h精品动漫在线观看| 国产欧美日韩精品a在线观看| 欧美这里有精品| 成人精品免费看| 蜜臀久久99精品久久久久宅男| 中文字幕一区二区在线观看| 精品理论电影在线| 欧美男男青年gay1069videost | 国产福利一区在线| 日本不卡一区二区| 一区二区三区四区在线免费观看| 精品福利二区三区| 欧美精品久久99久久在免费线| 成人国产精品视频| 国产精品99久久久久久有的能看| 亚洲午夜影视影院在线观看| 亚洲欧美在线视频观看| 中文字幕不卡在线播放| 亚洲精品一区二区三区99| 欧美一区二区三区公司| 欧美日韩另类国产亚洲欧美一级| hitomi一区二区三区精品| 国产精品一区在线观看乱码| 精品在线免费视频| 久久黄色级2电影| 久久成人免费电影| 美女视频黄免费的久久| 日本va欧美va瓶| 奇米影视在线99精品| 五月天精品一区二区三区| 亚洲综合一区二区| 亚瑟在线精品视频| 男女激情视频一区| 免费在线观看一区| 国产又黄又大久久| 国产精品一区在线| 丁香另类激情小说| 91麻豆免费观看| 在线一区二区视频| 欧美精品少妇一区二区三区| 制服丝袜亚洲精品中文字幕| 91精品国产综合久久蜜臀| 日韩欧美久久久| 日韩区在线观看| 久久五月婷婷丁香社区| 欧美高清在线一区二区| 中文字幕不卡在线| 亚洲图片有声小说| 久久精品国内一区二区三区| 国产一区二区中文字幕| 香蕉影视欧美成人| 麻豆视频一区二区| 国产精品亚洲а∨天堂免在线| 高清beeg欧美| 精品视频一区二区三区免费| 欧美一区二区三区免费在线看| 日韩精品一区二区三区在线播放 | 中文字幕一区二区三区四区不卡 | 欧美性感一类影片在线播放| 欧美人体做爰大胆视频| 久久综合久久综合九色| 亚洲欧美电影院| 日本视频一区二区| 99在线精品一区二区三区| 欧美三级资源在线| 国产亚洲短视频| 亚洲激情五月婷婷| 精品一区二区三区视频在线观看| 国产精品18久久久久久久久 | 欧美亚洲综合一区| 精品久久久三级丝袜| 国产精品乱人伦| 丝袜美腿亚洲色图| 99精品视频一区二区| 日韩欧美一区二区不卡| 一区二区三区精品视频| 久久99久国产精品黄毛片色诱|