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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lib_at91sam7s64.h

?? freertosV4.40 是一種small的嵌入式系統(tǒng)。利于嵌入式開好者入門學(xué)習(xí)嵌入式操作系統(tǒng)。通過對于源碼的學(xué)習(xí)可以很好的掌握freertos的運(yùn)行機(jī)制。
?? 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
//*----------------------------------------------------------------------------

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品影院| 国产精品国产自产拍高清av| 精品国产91洋老外米糕| 国产亚洲精久久久久久| 最新日韩av在线| 亚洲电影在线播放| 久久精品国产一区二区三| 免费高清在线一区| 成人精品一区二区三区中文字幕| 国产精品一品二品| 色综合久久九月婷婷色综合| 高清国产午夜精品久久久久久| 成年人网站91| 欧美一区二区私人影院日本| 久久久久久久久岛国免费| 国产精品全国免费观看高清| 亚洲国产一区视频| 国产精品一区二区无线| 色婷婷精品久久二区二区蜜臂av | 日韩精品一区二区三区三区免费| 18涩涩午夜精品.www| 日韩精品亚洲一区二区三区免费| 美腿丝袜亚洲色图| 色丁香久综合在线久综合在线观看| 日韩欧美一区在线观看| 亚洲国产一区二区a毛片| 国产 日韩 欧美大片| 欧美三级韩国三级日本三斤| 国产精品污污网站在线观看| 午夜久久久久久久久久一区二区| 国产激情偷乱视频一区二区三区| 欧美日韩国产另类不卡| 日韩美女精品在线| 成人三级伦理片| 亚洲精品一区二区三区在线观看 | 91成人免费在线| 久久蜜桃一区二区| 国产综合色精品一区二区三区| 欧美在线观看18| 中文字幕亚洲在| 成人性生交大片免费看在线播放| 久久久久久麻豆| 久久国产综合精品| 日韩欧美国产一区在线观看| 三级久久三级久久| 欧美色视频一区| 亚洲国产视频一区| 欧美又粗又大又爽| 亚洲国产欧美在线人成| 欧美精品久久天天躁| 天天av天天翘天天综合网| 欧洲国内综合视频| 美女性感视频久久| 久久久久99精品国产片| 丰满岳乱妇一区二区三区| 中文字幕二三区不卡| 午夜精品福利一区二区三区av| 欧美日韩一区二区在线视频| 亚洲香蕉伊在人在线观| 欧美一级久久久| 久久成人久久爱| 亚洲国产精品成人综合色在线婷婷| 高清av一区二区| 一区二区三区四区高清精品免费观看| 在线观看亚洲一区| 久久国产精品露脸对白| 中文久久乱码一区二区| 欧美视频日韩视频在线观看| 男女性色大片免费观看一区二区| 久久亚洲精品小早川怜子| 成人一级黄色片| 天天操天天干天天综合网| 久久久精品tv| 欧美卡1卡2卡| 波波电影院一区二区三区| 午夜私人影院久久久久| 国产亚洲综合性久久久影院| 欧美日韩中文字幕一区二区| 高清国产午夜精品久久久久久| 亚洲一卡二卡三卡四卡无卡久久| 日韩欧美一二区| 国产精品美女久久久久久| 国产一区久久久| 日本最新不卡在线| 一区二区高清在线| 亚洲国产精品黑人久久久| 日韩免费电影一区| 欧美丰满美乳xxx高潮www| 97久久精品人人做人人爽| 国产一区二区主播在线| 日韩成人精品视频| 亚洲精品日日夜夜| 亚洲欧洲日产国码二区| 91精品欧美福利在线观看| av高清久久久| 欧美亚洲国产怡红院影院| 欧美电影精品一区二区| 中文字幕免费不卡| 亚洲成人在线免费| 日日夜夜精品免费视频| 国产精品一区二区免费不卡| a4yy欧美一区二区三区| 欧美一区二区三区男人的天堂| 国产网站一区二区三区| 亚洲h在线观看| 不卡的av电影在线观看| 欧美电影免费观看高清完整版在线 | 国产精品99久久久久久似苏梦涵| 国产一区 二区 三区一级| 久99久精品视频免费观看| 国产精品123| 色婷婷激情综合| 欧美一区二区美女| 精品国产91久久久久久久妲己| 国产欧美一区二区在线| 亚洲视频精选在线| 男人的j进女人的j一区| 成人午夜视频在线| 欧美卡1卡2卡| 国产精品妹子av| 日韩电影在线免费观看| 成人黄动漫网站免费app| 欧美精品色综合| 国产精品二三区| 美女视频网站黄色亚洲| 成人精品一区二区三区四区 | 亚洲国产另类av| 国产精品 日产精品 欧美精品| 91久久精品一区二区三区| 91视频91自| 欧美一二区视频| 精品国产三级电影在线观看| 精品福利一区二区三区| 欧美日韩精品专区| 欧美精品电影在线播放| 欧美va亚洲va在线观看蝴蝶网| 国产欧美日本一区二区三区| 亚洲自拍偷拍网站| 成人午夜视频在线观看| 精品国产乱码久久久久久1区2区| 怡红院av一区二区三区| 91在线视频免费91| 久久毛片高清国产| 免费在线观看成人| 欧美喷潮久久久xxxxx| 怡红院av一区二区三区| 99精品久久免费看蜜臀剧情介绍 | 日本一区二区视频在线| 久久99久久99精品免视看婷婷 | 国产视频911| 精品无人区卡一卡二卡三乱码免费卡| 欧美丝袜自拍制服另类| 夜夜嗨av一区二区三区四季av| 高潮精品一区videoshd| 国产精品久久久久国产精品日日| 粉嫩aⅴ一区二区三区四区五区| 久久免费的精品国产v∧| 国产伦精品一区二区三区在线观看| 欧美tk—视频vk| 国产精品一级在线| 亚洲婷婷综合色高清在线| 色香蕉久久蜜桃| 日韩av中文在线观看| 日韩欧美国产一区在线观看| 久久国产精品99久久久久久老狼| 精品国产乱码久久久久久久久| 国内精品视频一区二区三区八戒 | 一区二区理论电影在线观看| 91行情网站电视在线观看高清版| 亚洲高清视频的网址| 精品久久久久一区| 95精品视频在线| 青青草97国产精品免费观看| 久久奇米777| 色播五月激情综合网| 免费人成精品欧美精品| 国产精品理论在线观看| 精品视频在线免费看| 国产精品一区不卡| 亚洲愉拍自拍另类高清精品| 日韩丝袜美女视频| 色菇凉天天综合网| 国产成人综合网站| 天天操天天干天天综合网| 国产精品久久久久四虎| 91精品国产高清一区二区三区| 岛国精品在线播放| 蜜桃视频第一区免费观看| 亚洲欧美乱综合| 久久久久久久综合狠狠综合| 欧美男女性生活在线直播观看| 国产很黄免费观看久久| 蜜臀av一级做a爰片久久| 亚洲一区在线观看网站| 国产精品高潮呻吟久久| 国产视频一区在线观看 | 成人性生交大片免费看中文网站| 日本 国产 欧美色综合| 五月天欧美精品| 性欧美疯狂xxxxbbbb|