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

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

?? lib_at91sam7x256.h

?? freertosV4.40 是一種small的嵌入式系統(tǒng)。利于嵌入式開好者入門學習嵌入式操作系統(tǒng)。通過對于源碼的學習可以很好的掌握freertos的運行機制。
?? H
?? 第 1 頁 / 共 5 頁
字號:
__inline void AT91F_RSTSoftReset(
        AT91PS_RSTC pRSTC,
        unsigned int reset)
{
	pRSTC->RSTC_RCR = (0xA5000000 | reset);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_RSTSetMode
//* \brief Set Reset Mode
//*----------------------------------------------------------------------------
__inline void AT91F_RSTSetMode(
        AT91PS_RSTC pRSTC,
        unsigned int mode)
{
	pRSTC->RSTC_RMR = (0xA5000000 | mode);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_RSTGetMode
//* \brief Get Reset Mode
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_RSTGetMode(
        AT91PS_RSTC pRSTC)
{
	return (pRSTC->RSTC_RMR);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_RSTGetStatus
//* \brief Get Reset Status
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_RSTGetStatus(
        AT91PS_RSTC pRSTC)
{
	return (pRSTC->RSTC_RSR);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_RSTIsSoftRstActive
//* \brief Return !=0 if software reset is still not completed
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_RSTIsSoftRstActive(
        AT91PS_RSTC pRSTC)
{
	return ((pRSTC->RSTC_RSR) & AT91C_RSTC_SRCMP);
}
/* *****************************************************************************
                SOFTWARE API FOR RTTC
   ***************************************************************************** */
//*--------------------------------------------------------------------------------------
//* \fn     AT91F_SetRTT_TimeBase()
//* \brief  Set the RTT prescaler according to the TimeBase in ms
//*--------------------------------------------------------------------------------------
__inline unsigned int AT91F_RTTSetTimeBase(
        AT91PS_RTTC pRTTC,
        unsigned int ms)
{
	if (ms > 2000)
		return 1;   // AT91C_TIME_OUT_OF_RANGE
	pRTTC->RTTC_RTMR &= ~0xFFFF;	
	pRTTC->RTTC_RTMR |= (((ms << 15) /1000) & 0xFFFF);	
	return 0;
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTTSetPrescaler()
//* \brief  Set the new prescaler value
//*--------------------------------------------------------------------------------------
__inline unsigned int AT91F_RTTSetPrescaler(
        AT91PS_RTTC pRTTC,
        unsigned int rtpres)
{
	pRTTC->RTTC_RTMR &= ~0xFFFF;	
	pRTTC->RTTC_RTMR |= (rtpres & 0xFFFF);	
	return (pRTTC->RTTC_RTMR);
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTTRestart()
//* \brief  Restart the RTT prescaler
//*--------------------------------------------------------------------------------------
__inline void AT91F_RTTRestart(
        AT91PS_RTTC pRTTC)
{
	pRTTC->RTTC_RTMR |= AT91C_RTTC_RTTRST;	
}


//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_SetAlarmINT()
//* \brief  Enable RTT Alarm Interrupt
//*--------------------------------------------------------------------------------------
__inline void AT91F_RTTSetAlarmINT(
        AT91PS_RTTC pRTTC)
{
	pRTTC->RTTC_RTMR |= AT91C_RTTC_ALMIEN;
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_ClearAlarmINT()
//* \brief  Disable RTT Alarm Interrupt
//*--------------------------------------------------------------------------------------
__inline void AT91F_RTTClearAlarmINT(
        AT91PS_RTTC pRTTC)
{
	pRTTC->RTTC_RTMR &= ~AT91C_RTTC_ALMIEN;
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_SetRttIncINT()
//* \brief  Enable RTT INC Interrupt
//*--------------------------------------------------------------------------------------
__inline void AT91F_RTTSetRttIncINT(
        AT91PS_RTTC pRTTC)
{
	pRTTC->RTTC_RTMR |= AT91C_RTTC_RTTINCIEN;
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_ClearRttIncINT()
//* \brief  Disable RTT INC Interrupt
//*--------------------------------------------------------------------------------------
__inline void AT91F_RTTClearRttIncINT(
        AT91PS_RTTC pRTTC)
{
	pRTTC->RTTC_RTMR &= ~AT91C_RTTC_RTTINCIEN;
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_SetAlarmValue()
//* \brief  Set RTT Alarm Value
//*--------------------------------------------------------------------------------------
__inline void AT91F_RTTSetAlarmValue(
        AT91PS_RTTC pRTTC, unsigned int alarm)
{
	pRTTC->RTTC_RTAR = alarm;
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_GetAlarmValue()
//* \brief  Get RTT Alarm Value
//*--------------------------------------------------------------------------------------
__inline unsigned int AT91F_RTTGetAlarmValue(
        AT91PS_RTTC pRTTC)
{
	return(pRTTC->RTTC_RTAR);
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTTGetStatus()
//* \brief  Read the RTT status
//*--------------------------------------------------------------------------------------
__inline unsigned int AT91F_RTTGetStatus(
        AT91PS_RTTC pRTTC)
{
	return(pRTTC->RTTC_RTSR);
}

//*--------------------------------------------------------------------------------------
//* \fn     AT91F_RTT_ReadValue()
//* \brief  Read the RTT value
//*--------------------------------------------------------------------------------------
__inline unsigned int AT91F_RTTReadValue(
        AT91PS_RTTC pRTTC)
{
        register volatile unsigned int val1,val2;
	do
	{
		val1 = pRTTC->RTTC_RTVR;
		val2 = pRTTC->RTTC_RTVR;
	}	
	while(val1 != val2);
	return(val1);
}
/* *****************************************************************************
                SOFTWARE API FOR PITC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_PITInit
//* \brief System timer init : period in 祍econd, system clock freq in MHz
//*----------------------------------------------------------------------------
__inline void AT91F_PITInit(
        AT91PS_PITC pPITC,
        unsigned int period,
        unsigned int pit_frequency)
{
	pPITC->PITC_PIMR = period? (period * pit_frequency + 8) >> 4 : 0; // +8 to avoid %10 and /10
	pPITC->PITC_PIMR |= AT91C_PITC_PITEN;	
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITSetPIV
//* \brief Set the PIT Periodic Interval Value
//*----------------------------------------------------------------------------
__inline void AT91F_PITSetPIV(
        AT91PS_PITC pPITC,
        unsigned int piv)
{
	pPITC->PITC_PIMR = piv | (pPITC->PITC_PIMR & (AT91C_PITC_PITEN | AT91C_PITC_PITIEN));
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITEnableInt
//* \brief Enable PIT periodic interrupt
//*----------------------------------------------------------------------------
__inline void AT91F_PITEnableInt(
        AT91PS_PITC pPITC)
{
	pPITC->PITC_PIMR |= AT91C_PITC_PITIEN;	
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITDisableInt
//* \brief Disable PIT periodic interrupt
//*----------------------------------------------------------------------------
__inline void AT91F_PITDisableInt(
        AT91PS_PITC pPITC)
{
	pPITC->PITC_PIMR &= ~AT91C_PITC_PITIEN;	
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITGetMode
//* \brief Read PIT mode register
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PITGetMode(
        AT91PS_PITC pPITC)
{
	return(pPITC->PITC_PIMR);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITGetStatus
//* \brief Read PIT status register
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PITGetStatus(
        AT91PS_PITC pPITC)
{
	return(pPITC->PITC_PISR);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITGetPIIR
//* \brief Read PIT CPIV and PICNT without ressetting the counters
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PITGetPIIR(
        AT91PS_PITC pPITC)
{
	return(pPITC->PITC_PIIR);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PITGetPIVR
//* \brief Read System timer CPIV and PICNT without ressetting the counters
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_PITGetPIVR(
        AT91PS_PITC pPITC)
{
	return(pPITC->PITC_PIVR);
}
/* *****************************************************************************
                SOFTWARE API FOR WDTC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_WDTSetMode
//* \brief Set Watchdog Mode Register
//*----------------------------------------------------------------------------
__inline void AT91F_WDTSetMode(
        AT91PS_WDTC pWDTC,
        unsigned int Mode)
{
	pWDTC->WDTC_WDMR = Mode;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_WDTRestart
//* \brief Restart Watchdog
//*----------------------------------------------------------------------------
__inline void AT91F_WDTRestart(
        AT91PS_WDTC pWDTC)
{
	pWDTC->WDTC_WDCR = 0xA5000001;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_WDTSGettatus
//* \brief Get Watchdog Status
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_WDTSGettatus(
        AT91PS_WDTC pWDTC)
{
	return(pWDTC->WDTC_WDSR & 0x3);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_WDTGetPeriod
//* \brief Translate ms into Watchdog Compatible value
//*----------------------------------------------------------------------------
__inline unsigned int AT91F_WDTGetPeriod(unsigned int ms)
{
	if ((ms < 4) || (ms > 16000))
		return 0;
	return((ms << 8) / 1000);
}
/* *****************************************************************************
                SOFTWARE API FOR VREG
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_VREG_Enable_LowPowerMode
//* \brief Enable VREG Low Power Mode
//*----------------------------------------------------------------------------
__inline void AT91F_VREG_Enable_LowPowerMode(
        AT91PS_VREG pVREG)
{
	pVREG->VREG_MR |= AT91C_VREG_PSTDBY;	
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_VREG_Disable_LowPowerMode
//* \brief Disable VREG Low Power Mode
//*----------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区系列电影| aaa欧美日韩| 欧美一卡2卡3卡4卡| 日韩不卡一二三区| 欧美r级在线观看| 国产精品中文字幕一区二区三区| 久久久精品天堂| 波波电影院一区二区三区| 综合久久国产九一剧情麻豆| 97久久精品人人澡人人爽| 亚洲成a天堂v人片| 欧美久久久久中文字幕| 老司机免费视频一区二区 | 日韩二区三区在线观看| 在线不卡免费欧美| 国产精品一区免费视频| 国产精品美日韩| 欧美三电影在线| 国内精品嫩模私拍在线| 亚洲图片另类小说| 欧美一区二区精美| 国产 日韩 欧美大片| 一区二区三区精密机械公司| 日韩欧美一级在线播放| 国产成人久久精品77777最新版本| 亚洲伦理在线精品| 日韩区在线观看| 99综合影院在线| 久久精品噜噜噜成人av农村| 中文字幕永久在线不卡| 在线综合+亚洲+欧美中文字幕| 国产精品一区二区你懂的| 亚洲精选一二三| 欧美www视频| 欧美亚洲国产bt| 国产成人精品免费视频网站| 天天综合色天天| 中文字幕日韩av资源站| 欧美一级xxx| 色综合一个色综合亚洲| 国产乱子轮精品视频| 亚洲一区二区3| 欧美激情在线一区二区| 日韩一区二区三| 91久久国产综合久久| 国产高清久久久久| 奇米影视在线99精品| 伊人色综合久久天天人手人婷| 精品伦理精品一区| 欧美日韩国产高清一区二区| av动漫一区二区| 韩国成人福利片在线播放| 偷窥少妇高潮呻吟av久久免费| 18欧美乱大交hd1984| 久久综合99re88久久爱| 欧美精品久久久久久久久老牛影院 | 成人av网站大全| 久久精品99国产国产精| 五月综合激情婷婷六月色窝| 亚洲精品欧美二区三区中文字幕| 欧美国产一区在线| 久久亚洲一级片| 日韩精品一区二区三区在线播放 | 777亚洲妇女| 91精品福利在线| 91丝袜国产在线播放| 国产成人精品亚洲日本在线桃色| 久久 天天综合| 捆绑调教美女网站视频一区| 日韩精品一级中文字幕精品视频免费观看 | 日本va欧美va精品发布| 亚洲成人激情自拍| 午夜免费欧美电影| 亚洲制服欧美中文字幕中文字幕| 亚洲精品中文在线| 一区二区高清在线| 亚洲资源中文字幕| 午夜精品一区二区三区三上悠亚| 夜色激情一区二区| 亚洲国产日韩综合久久精品| 一区二区成人在线视频| 亚洲综合视频在线观看| 亚洲高清视频在线| 日本aⅴ免费视频一区二区三区| 青青草国产成人av片免费| 久久成人免费网站| 国产一区 二区| 懂色av一区二区三区蜜臀| 99视频精品全部免费在线| 91蜜桃视频在线| 欧美日韩一区精品| 欧美一区欧美二区| 久久久国际精品| 日韩一区在线播放| 一区二区三区在线播放| 日韩一区精品字幕| 国产成人免费视| 91啦中文在线观看| 欧美久久一区二区| 久久蜜桃香蕉精品一区二区三区| 国产欧美1区2区3区| 亚洲欧美国产高清| 天天综合色天天| 国产福利一区在线观看| 日本精品裸体写真集在线观看 | 日韩精品一区二区在线| 国产欧美精品区一区二区三区| 1000精品久久久久久久久| 亚洲二区在线观看| 国产成人免费视频网站| 在线精品视频小说1| 精品国产三级电影在线观看| 中文字幕制服丝袜一区二区三区| 亚洲国产精品欧美一二99| 狠狠色2019综合网| 欧美伊人精品成人久久综合97| 精品免费日韩av| 亚洲欧美一区二区三区久本道91| 蜜臀av国产精品久久久久| 99视频精品在线| 欧美大片在线观看| 精品无人区卡一卡二卡三乱码免费卡| 国产福利一区二区三区视频在线 | 风流少妇一区二区| 欧美视频一区在线| 久久九九国产精品| 亚洲成人一区二区| 成人精品国产福利| 日韩欧美国产系列| 一区二区三区中文字幕在线观看| 麻豆精品在线播放| 欧美亚洲动漫另类| 国产欧美一区二区精品仙草咪 | 国产一区 二区| 制服丝袜亚洲网站| 亚洲精品国久久99热| 国产一区二区三区美女| 欧美精品日日鲁夜夜添| 亚洲欧美国产三级| 成人激情图片网| 久久久久久免费毛片精品| 亚洲6080在线| 色婷婷狠狠综合| 国产精品大尺度| 国产精品自在在线| 精品国产一区二区三区久久久蜜月 | 91电影在线观看| 国产精品国产a| 成人激情免费网站| 欧美国产精品一区二区三区| 捆绑调教美女网站视频一区| 6080日韩午夜伦伦午夜伦| 一区二区久久久| 美脚の诱脚舐め脚责91| 亚洲成av人在线观看| 一本久道久久综合中文字幕| 国产精品久久久久久福利一牛影视| 久久99国产精品免费网站| 欧美一区二区精美| 日韩va亚洲va欧美va久久| 欧美精品粉嫩高潮一区二区| 亚洲高清免费观看高清完整版在线观看 | 五月婷婷久久丁香| 欧美午夜精品免费| 亚洲线精品一区二区三区八戒| 色婷婷精品大在线视频| 一区二区三区在线播| 欧美曰成人黄网| 亚洲国产一区二区在线播放| 欧美日韩精品欧美日韩精品| 三级久久三级久久| 欧美嫩在线观看| 日韩电影一二三区| 日韩视频免费观看高清完整版 | 欧美一区二区不卡视频| 男女男精品视频网| 欧美成人性战久久| 国产精品一区在线观看乱码| 久久久国产精品午夜一区ai换脸 | 91麻豆.com| 夜夜亚洲天天久久| 欧美日韩精品欧美日韩精品一| 午夜久久久久久电影| 日韩一区二区影院| 国产成人日日夜夜| 亚洲精品日日夜夜| 91.麻豆视频| 国内精品伊人久久久久av一坑| 国产欧美日韩在线视频| 一本一道久久a久久精品| 亚洲国产一区视频| 精品国产乱码久久久久久牛牛| 国产91对白在线观看九色| 亚洲欧洲成人精品av97| 欧美午夜电影在线播放| 日本不卡一区二区三区| 久久理论电影网| 欧美中文字幕一区| 精品在线观看免费| 亚洲人妖av一区二区|