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

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

?? lib_at91sam7s64.h

?? 開源的國外AT91SAM7S64開發板
?? 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);
}/* *****************************************************************************
                SOFTWARE API FOR RSTC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_RSTSoftReset
//* \brief Start Software Reset
//*----------------------------------------------------------------------------
__inline void AT91F_RSTSoftReset(
        AT91PS_RSTC pRSTC,
        unsigned int reset)
{
	pRSTC->RSTC_RCR = (0xA5000000 | reset);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色综合播放一区二区| 久久久久99精品国产片| 欧美一卡二卡在线| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 丁香一区二区三区| av高清不卡在线| 欧美午夜视频网站| 亚洲精品在线免费观看视频| 国产精品视频一二三区| 一区二区三区四区蜜桃| 青青草精品视频| a级精品国产片在线观看| 欧美亚洲丝袜传媒另类| 日韩三级免费观看| 国产精品理论片| 爽好多水快深点欧美视频| 国产精品66部| 欧美亚洲动漫制服丝袜| 久久久久久日产精品| 一区二区三区在线观看欧美| 久久爱另类一区二区小说| 一本色道久久综合亚洲精品按摩 | 欧美日韩高清在线播放| 亚洲国产精品ⅴa在线观看| 亚洲最大成人综合| 久久精品国产精品亚洲红杏| 99综合电影在线视频| 欧美高清hd18日本| 欧美极品另类videosde| 三级一区在线视频先锋| 97国产一区二区| 精品国产污污免费网站入口| 亚洲三级在线播放| 国产精品一区二区不卡| 欧美日韩精品福利| 亚洲日本丝袜连裤袜办公室| 国内精品在线播放| 666欧美在线视频| 亚洲麻豆国产自偷在线| 国产成人精品一区二| 91精品国产综合久久小美女| 亚洲欧美一区二区三区国产精品| 激情深爱一区二区| 欧美日韩国产首页在线观看| 国产精品欧美久久久久无广告| 日本大胆欧美人术艺术动态 | 一区二区三区四区视频精品免费| 日韩国产精品久久久久久亚洲| 日韩av中文字幕一区二区| 欧美午夜精品久久久久久超碰| 欧美年轻男男videosbes| 亚洲三级视频在线观看| 国产精品1024久久| 精品少妇一区二区三区免费观看| 亚洲777理论| 色哟哟国产精品| 国产精品午夜电影| 国产精品自拍网站| 日韩精品一区二区三区在线观看| 亚洲一区二区不卡免费| voyeur盗摄精品| 国产精品亲子伦对白| 韩日欧美一区二区三区| 欧美精品三级在线观看| 亚洲一级在线观看| 91国模大尺度私拍在线视频| 中文字幕五月欧美| 成人黄色大片在线观看| 欧美激情综合在线| 国产不卡视频在线观看| 国产农村妇女毛片精品久久麻豆 | 91精品国产色综合久久不卡电影 | 欧美伊人久久久久久午夜久久久久| 欧美激情在线一区二区三区| 国产一区二区三区黄视频| 日韩精品一区二区三区四区视频| 日韩av中文字幕一区二区三区| 在线成人av影院| 香蕉影视欧美成人| 欧美午夜电影网| 91久久精品一区二区二区| 亚洲欧美日韩国产成人精品影院| av一本久道久久综合久久鬼色| 国产精品久久久久影院老司| 成人成人成人在线视频| 亚洲精品中文字幕乱码三区 | 亚洲成人av一区二区| 精品视频全国免费看| 亚洲成a人在线观看| 欧美日韩成人综合在线一区二区| 偷窥国产亚洲免费视频| 欧美www视频| 成人天堂资源www在线| 国产精品传媒入口麻豆| 色综合久久综合| 亚洲成人av福利| 精品国产伦一区二区三区观看方式| 国产精品综合在线视频| 中文成人av在线| 日本电影亚洲天堂一区| 视频在线观看一区| 久久新电视剧免费观看| 成人激情小说网站| 亚洲午夜久久久久久久久电影网| 91.xcao| 国内外精品视频| 亚洲国产成人在线| 欧美视频日韩视频在线观看| 美女任你摸久久| 亚洲国产成人私人影院tom| 在线免费观看日本欧美| 蜜臀av一区二区在线观看| 国产日韩欧美a| 欧洲精品一区二区三区在线观看| 日本中文字幕一区二区有限公司| 国产欧美日韩亚州综合| 欧洲激情一区二区| 精品亚洲成a人在线观看 | 欧美日免费三级在线| 国内精品伊人久久久久av一坑| 中文字幕一区在线观看| 5月丁香婷婷综合| 国产成人午夜99999| 亚洲一区在线电影| 久久人人97超碰com| 色先锋久久av资源部| 韩国一区二区三区| 一区二区三区蜜桃网| 久久久三级国产网站| 欧美揉bbbbb揉bbbbb| 高清免费成人av| 日韩av网站在线观看| 国产精品成人午夜| 欧美成人vr18sexvr| 一本色道久久综合狠狠躁的推荐| 美女免费视频一区二区| 亚洲一区影音先锋| 欧美经典一区二区| 欧美一级日韩不卡播放免费| 99精品视频一区二区三区| 另类小说视频一区二区| 一区二区在线看| 国产欧美一区二区三区鸳鸯浴 | 日本欧美一区二区在线观看| ...av二区三区久久精品| 精品卡一卡二卡三卡四在线| 欧美视频一区二区三区| 99免费精品视频| 国产在线精品一区二区三区不卡 | 一区二区三区日韩精品视频| 久久一二三国产| 欧美视频一区二区三区| 97久久精品人人澡人人爽| 国产综合久久久久久鬼色| 偷拍亚洲欧洲综合| 亚洲图片欧美色图| 国产精品高潮呻吟| 中文字幕不卡在线播放| 精品av综合导航| 日韩一区二区精品在线观看| 欧美日韩一区视频| 欧美亚洲丝袜传媒另类| 一本到不卡免费一区二区| 国产福利91精品一区二区三区| 六月丁香婷婷久久| 日本午夜精品视频在线观看| 亚洲在线视频网站| 一区二区视频在线看| 亚洲人成亚洲人成在线观看图片| 国产日韩欧美a| 国产三级精品三级| 26uuuu精品一区二区| 欧美电影免费观看高清完整版| 欧美理论片在线| 欧美日韩美女一区二区| 在线观看91视频| 91国偷自产一区二区开放时间| 一本大道久久a久久综合婷婷| 成人午夜精品一区二区三区| 国产精品一区二区在线播放 | 国产欧美日韩不卡免费| 久久久亚洲综合| 国产日韩欧美一区二区三区综合| 欧美大尺度电影在线| 欧美mv日韩mv国产网站| 欧美变态口味重另类| 欧美成人女星排名| 久久一区二区三区四区| 久久综合九色综合97_久久久| 亚洲精品在线免费播放| 国产三级精品在线| 国产精品久久久久四虎| 亚洲欧美国产三级| 亚洲男女一区二区三区| 亚洲午夜av在线| 视频一区中文字幕| 麻豆精品国产91久久久久久| 国内一区二区在线| 成人动漫一区二区| 欧美在线观看18|