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

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

?? lib_at91sam7s64.h

?? MCS-51的一個Free小型操作系統,在KeilC中下編譯工作
?? H
?? 第 1 頁 / 共 5 頁
字號:
//* \fn    AT91F_TC_IsInterruptMasked
//* \brief Test if TC Interrupt is Masked 
//*----------------------------------------------------------------------------
__inline 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_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);
}/* *****************************************************************************
                SOFTWARE API FOR ADC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_ADC_EnableIt
//* \brief Enable ADC interrupt
//*----------------------------------------------------------------------------
__inline void AT91F_ADC_EnableIt (
	AT91PS_ADC pADC,     // pointer to a ADC controller
	unsigned int flag)   // IT to be enabled
{
	//* Write to the IER register
	pADC->ADC_IER = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_ADC_DisableIt
//* \brief Disable ADC interrupt
//*----------------------------------------------------------------------------
__inline void AT91F_ADC_DisableIt (
	AT91PS_ADC pADC, // pointer to a ADC controller
	unsigned int flag) // IT to be disabled
{
	//* Write to the IDR register
	pADC->ADC_IDR = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_ADC_GetStatus
//* \brief Return ADC Interrupt Status
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_ADC_GetStatus( // \return ADC Interrupt Status
	AT91PS_ADC pADC) // pointer to a ADC controller
{
	return pADC->ADC_SR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_ADC_GetInterruptMaskStatus
//* \brief Return ADC Interrupt Mask Status
//*----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产最新精品免费| 国产天堂亚洲国产碰碰| 丰满放荡岳乱妇91ww| 日韩电影在线观看电影| 一区二区三区免费观看| 亚洲人成人一区二区在线观看| 久久美女高清视频| 久久久久久97三级| 久久久久久久久久久久久夜| 精品久久久久久久人人人人传媒| 欧美日韩国产一区二区三区地区| 精品视频一区 二区 三区| 91捆绑美女网站| 欧美吞精做爰啪啪高潮| 欧美三级韩国三级日本三斤| 欧美在线free| 欧美一区二区三区视频免费 | 亚洲欧美在线另类| 亚洲激情五月婷婷| 奇米影视在线99精品| 国模冰冰炮一区二区| 国产精品综合视频| 国产激情偷乱视频一区二区三区| 夫妻av一区二区| 日本二三区不卡| 日韩欧美在线1卡| 国产嫩草影院久久久久| 樱桃国产成人精品视频| 毛片av一区二区三区| 国产不卡免费视频| 色吊一区二区三区| 久久av中文字幕片| 国产夫妻精品视频| 精品亚洲国产成人av制服丝袜| 亚洲国产精品久久不卡毛片| 一区二区三区四区在线| 国产精品美女久久久久aⅴ| 久久免费的精品国产v∧| 久久综合99re88久久爱| 精品国产精品网麻豆系列| 日韩视频不卡中文| 精品久久久久久久一区二区蜜臀| 日韩欧美久久久| 精品久久久久久久久久久院品网| 2023国产一二三区日本精品2022| 日韩欧美中文一区二区| 久久综合久色欧美综合狠狠| 精品乱人伦一区二区三区| 日韩午夜激情电影| 精品国产一区二区在线观看| 成人午夜激情在线| 一本到三区不卡视频| 欧美日韩中文一区| 欧美久久久久中文字幕| 91麻豆精品国产91久久久更新时间| 91看片淫黄大片一级在线观看| 99这里只有久久精品视频| 成人av电影观看| 高清成人免费视频| 日韩av网站免费在线| 中文字幕一区在线观看| 国产精品电影院| 午夜精品爽啪视频| 国产精品自拍网站| 色综合中文字幕国产 | 欧美极品aⅴ影院| 中文一区在线播放| 亚洲图片你懂的| 婷婷综合在线观看| 国产jizzjizz一区二区| 欧美三级中文字幕| 久久久久久黄色| 一区二区三区成人在线视频| 蜜桃av一区二区在线观看| 狠狠色丁香久久婷婷综| 91亚洲精品久久久蜜桃| 在线成人高清不卡| 国产精品久久久久久户外露出| 亚洲无线码一区二区三区| 激情综合色播五月| 色婷婷综合在线| 精品欧美久久久| 亚洲久草在线视频| 国内成+人亚洲+欧美+综合在线| 99精品偷自拍| 久久久久国产精品人| 一区二区三区在线影院| 国产精品资源在线| 欧美日韩国产高清一区二区 | 成人免费黄色大片| 欧美美女bb生活片| 亚洲欧美日韩在线| 国产精品1024| 欧美一区二区视频在线观看| 亚洲色图制服诱惑| 国产成人免费视频| 久久综合色综合88| 免费在线看一区| 日本久久一区二区三区| 中文字幕免费不卡在线| 偷拍亚洲欧洲综合| 欧美日韩一区二区三区不卡| 国产精品护士白丝一区av| 激情五月激情综合网| 欧美伦理视频网站| 三级成人在线视频| 欧美精品在线观看一区二区| 一区二区三区高清| 激情五月婷婷综合网| 91精品国产综合久久精品app| 亚洲欧洲99久久| 国产精品中文欧美| 91精品久久久久久久99蜜桃| 亚洲视频狠狠干| 99久久婷婷国产综合精品| 99精品黄色片免费大全| 久久久影视传媒| 久久电影网站中文字幕| 欧美午夜影院一区| 久久久久久久久蜜桃| 成人在线视频一区| 国产精品久久免费看| 视频一区视频二区中文字幕| 国产成人在线视频网站| 国产精品不卡在线观看| 成人aa视频在线观看| 一色桃子久久精品亚洲| 99re热视频精品| 亚洲国产中文字幕在线视频综合| 色8久久精品久久久久久蜜| 亚洲小说欧美激情另类| 欧美另类z0zxhd电影| 美女一区二区三区| 国产欧美1区2区3区| 9久草视频在线视频精品| 一区二区三区在线视频免费| 欧美另类变人与禽xxxxx| 国产精品综合在线视频| 亚洲三级电影全部在线观看高清| 日本美女一区二区三区| 国产亚洲欧美色| 欧美性感一类影片在线播放| 国产日韩欧美a| 99国产精品久| 亚洲一区免费观看| 欧美一二三四在线| 国产精品白丝av| 夜夜操天天操亚洲| 精品久久人人做人人爰| 一本大道av一区二区在线播放 | 国产人妖乱国产精品人妖| 成人网男人的天堂| 视频一区免费在线观看| 欧美亚洲综合一区| 极品少妇一区二区三区精品视频| 国产欧美精品一区aⅴ影院 | 日韩欧美中文字幕精品| 白白色亚洲国产精品| 国产精品久久久久一区| 国产精品一级在线| 久久精品视频一区二区| 风流少妇一区二区| 日韩avvvv在线播放| 综合久久久久综合| 精品处破学生在线二十三| 欧美日韩精品一二三区| av在线免费不卡| 国产乱人伦偷精品视频免下载| 中文字幕一区二区三区在线播放| 欧美精品粉嫩高潮一区二区| 国产一区二区三区国产| 亚洲同性gay激情无套| 日韩色视频在线观看| 秋霞电影网一区二区| 一区在线中文字幕| 国产精品短视频| 欧美激情综合五月色丁香小说| 欧美一区永久视频免费观看| 99麻豆久久久国产精品免费| 国产激情精品久久久第一区二区 | 国产综合色视频| 亚洲六月丁香色婷婷综合久久| 日韩电影网1区2区| 国产精品天天看| 日本一区二区高清| 欧美一区二区三区免费| 在线播放91灌醉迷j高跟美女 | 欧美日韩久久不卡| 一本一道波多野结衣一区二区| 韩国精品主播一区二区在线观看 | 91在线视频观看| 91在线观看免费视频| 99re热这里只有精品免费视频| jlzzjlzz欧美大全| 色婷婷av久久久久久久| 欧美色综合久久| 日韩一区二区三区在线| 精品久久一区二区| 国产调教视频一区| 一本久道久久综合中文字幕|