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

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

?? lib_at91sam7s64a.h

?? 此例程為將ADC轉換的值通過開發版上的UART在超級終端顯示出來。用的芯片是Atmel的AT91SAM7S系列
?? H
?? 第 1 頁 / 共 5 頁
字號:
{
	//* Write to the IER register
	pSPI->SPI_IER = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_DisableIt
//* \brief Disable SPI interrupt
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_DisableIt (
	AT91PS_SPI pSPI, // pointer to a SPI controller
	unsigned int flag) // IT to be disabled
{
	//* Write to the IDR register
	pSPI->SPI_IDR = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_Reset
//* \brief Reset the SPI controller
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_Reset (
	AT91PS_SPI pSPI // pointer to a SPI controller
	)
{
	//* Write to the CR register
	pSPI->SPI_CR = AT91C_SPI_SWRST;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_Enable
//* \brief Enable the SPI controller
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_Enable (
	AT91PS_SPI pSPI // pointer to a SPI controller
	)
{
	//* Write to the CR register
	pSPI->SPI_CR = AT91C_SPI_SPIEN;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_Disable
//* \brief Disable the SPI controller
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_Disable (
	AT91PS_SPI pSPI // pointer to a SPI controller
	)
{
	//* Write to the CR register
	pSPI->SPI_CR = AT91C_SPI_SPIDIS;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_CfgMode
//* \brief Enable the SPI controller
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_CfgMode (
	AT91PS_SPI pSPI, // pointer to a SPI controller
	int mode)        // mode register 
{
	//* Write to the MR register
	pSPI->SPI_MR = mode;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_CfgPCS
//* \brief Switch to the correct PCS of SPI Mode Register : Fixed Peripheral Selected
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_CfgPCS (
	AT91PS_SPI pSPI, // pointer to a SPI controller
	char PCS_Device) // PCS of the Device
{	
 	//* Write to the MR register
	pSPI->SPI_MR &= 0xFFF0FFFF;
	pSPI->SPI_MR |= ( (PCS_Device<<16) & AT91C_SPI_PCS );
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_ReceiveFrame
//* \brief Return 2 if PDC has been initialized with Buffer and Next Buffer, 1 if PDC has been initializaed with Next Buffer, 0 if PDC is busy
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_SPI_ReceiveFrame (
	AT91PS_SPI pSPI,
	char *pBuffer,
	unsigned int szBuffer,
	char *pNextBuffer,
	unsigned int szNextBuffer )
{
	return AT91F_PDC_ReceiveFrame(
		(AT91PS_PDC) &(pSPI->SPI_RPR),
		pBuffer,
		szBuffer,
		pNextBuffer,
		szNextBuffer);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_SendFrame
//* \brief Return 2 if PDC has been initialized with Buffer and Next Buffer, 1 if PDC has been initializaed with Next Buffer, 0 if PDC is bSPIy
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_SPI_SendFrame(
	AT91PS_SPI pSPI,
	char *pBuffer,
	unsigned int szBuffer,
	char *pNextBuffer,
	unsigned int szNextBuffer )
{
	return AT91F_PDC_SendFrame(
		(AT91PS_PDC) &(pSPI->SPI_RPR),
		pBuffer,
		szBuffer,
		pNextBuffer,
		szNextBuffer);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_Close
//* \brief Close SPI: disable IT disable transfert, close PDC
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_Close (
	AT91PS_SPI pSPI)     // \arg pointer to a SPI controller
{
    //* Reset all the Chip Select register
    pSPI->SPI_CSR[0] = 0 ;
    pSPI->SPI_CSR[1] = 0 ;
    pSPI->SPI_CSR[2] = 0 ;
    pSPI->SPI_CSR[3] = 0 ;

    //* Reset the SPI mode
    pSPI->SPI_MR = 0  ;

    //* Disable all interrupts
    pSPI->SPI_IDR = 0xFFFFFFFF ;

    //* Abort the Peripheral Data Transfers
    AT91F_PDC_Close((AT91PS_PDC) &(pSPI->SPI_RPR));

    //* Disable receiver and transmitter and stop any activity immediately
    pSPI->SPI_CR = AT91C_SPI_SPIDIS;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_PutChar
//* \brief Send a character,does not check if ready to send
//*----------------------------------------------------------------------------
__inline static  void AT91F_SPI_PutChar (
	AT91PS_SPI pSPI,
	unsigned int character,
             unsigned int cs_number )
{
    unsigned int value_for_cs;
    value_for_cs = (~(1 << cs_number)) & 0xF;  //Place a zero among a 4 ONEs number
    pSPI->SPI_TDR = (character & 0xFFFF) | (value_for_cs << 16);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_GetChar
//* \brief Receive a character,does not check if a character is available
//*----------------------------------------------------------------------------
__inline static  int AT91F_SPI_GetChar (
	const AT91PS_SPI pSPI)
{
    return((pSPI->SPI_RDR) & 0xFFFF);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_GetInterruptMaskStatus
//* \brief Return SPI Interrupt Mask Status
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_SPI_GetInterruptMaskStatus( // \return SPI Interrupt Mask Status
        AT91PS_SPI pSpi) // \arg  pointer to a SPI controller
{
        return pSpi->SPI_IMR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_SPI_IsInterruptMasked
//* \brief Test if SPI Interrupt is Masked 
//*----------------------------------------------------------------------------
__inline static  int AT91F_SPI_IsInterruptMasked(
        AT91PS_SPI pSpi,   // \arg  pointer to a SPI controller
        unsigned int flag) // \arg  flag to be tested
{
        return (AT91F_SPI_GetInterruptMaskStatus(pSpi) & flag);
}

/* *****************************************************************************
                SOFTWARE API FOR PWMC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_GetStatus
//* \brief Return PWM Interrupt Status
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_PWMC_GetStatus( // \return PWM Interrupt Status
	AT91PS_PWMC pPWM) // pointer to a PWM controller
{
	return pPWM->PWMC_SR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_InterruptEnable
//* \brief Enable PWM Interrupt
//*----------------------------------------------------------------------------
__inline static  void AT91F_PWMC_InterruptEnable(
        AT91PS_PWMC pPwm,   // \arg  pointer to a PWM controller
        unsigned int flag) // \arg  PWM interrupt to be enabled
{
        pPwm->PWMC_IER = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_InterruptDisable
//* \brief Disable PWM Interrupt
//*----------------------------------------------------------------------------
__inline static  void AT91F_PWMC_InterruptDisable(
        AT91PS_PWMC pPwm,   // \arg  pointer to a PWM controller
        unsigned int flag) // \arg  PWM interrupt to be disabled
{
        pPwm->PWMC_IDR = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_GetInterruptMaskStatus
//* \brief Return PWM Interrupt Mask Status
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_PWMC_GetInterruptMaskStatus( // \return PWM Interrupt Mask Status
        AT91PS_PWMC pPwm) // \arg  pointer to a PWM controller
{
        return pPwm->PWMC_IMR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_IsInterruptMasked
//* \brief Test if PWM Interrupt is Masked
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_PWMC_IsInterruptMasked(
        AT91PS_PWMC pPWM,   // \arg  pointer to a PWM controller
        unsigned int flag) // \arg  flag to be tested
{
	return (AT91F_PWMC_GetInterruptMaskStatus(pPWM) & flag);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_GetStatus
//* \brief Return PWM Interrupt Status
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_PWMC_GetInterruptStatus( // \return PWM Interrupt Status
	AT91PS_PWMC pPWM) // pointer to a PWM controller
{
	return pPWM->PWMC_ISR;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_IsStatusSet
//* \brief Test if PWM Interrupt is Set
//*----------------------------------------------------------------------------
__inline static  unsigned int AT91F_PWMC_IsStatusSet(
        AT91PS_PWMC pPWM,   // \arg  pointer to a PWM controller
        unsigned int flag) // \arg  flag to be tested
{
	return (AT91F_PWMC_GetStatus(pPWM) & flag);
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_CfgChannel
//* \brief Test if PWM Interrupt is Set
//*----------------------------------------------------------------------------
__inline static  void AT91F_PWMC_CfgChannel(
        AT91PS_PWMC pPWM,   // \arg  pointer to a PWM controller
        unsigned int channelId, // \arg PWM channel ID
        unsigned int mode, // \arg  PWM mode
        unsigned int period, // \arg PWM period
        unsigned int duty) // \arg PWM duty cycle
{
	pPWM->PWMC_CH[channelId].PWMC_CMR = mode;
	pPWM->PWMC_CH[channelId].PWMC_CDTYR = duty;
	pPWM->PWMC_CH[channelId].PWMC_CPRDR = period;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_StartChannel
//* \brief Enable channel
//*----------------------------------------------------------------------------
__inline static  void AT91F_PWMC_StartChannel(
        AT91PS_PWMC pPWM,   // \arg  pointer to a PWM controller
        unsigned int flag) // \arg  Channels IDs to be enabled
{
	pPWM->PWMC_ENA = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_StopChannel
//* \brief Disable channel
//*----------------------------------------------------------------------------
__inline static  void AT91F_PWMC_StopChannel(
        AT91PS_PWMC pPWM,   // \arg  pointer to a PWM controller
        unsigned int flag) // \arg  Channels IDs to be enabled
{
	pPWM->PWMC_DIS = flag;
}

//*----------------------------------------------------------------------------
//* \fn    AT91F_PWM_UpdateChannel
//* \brief Update Period or Duty Cycle
//*----------------------------------------------------------------------------
__inline static  void AT91F_PWMC_UpdateChannel(
        AT91PS_PWMC pPWM,   // \arg  pointer to a PWM controller
        unsigned int channelId, // \arg PWM channel ID
        unsigned int update) // \arg  Channels IDs to be enabled
{
	pPWM->PWMC_CH[channelId].PWMC_CUPDR = update;
}

/* *****************************************************************************
                SOFTWARE API FOR TC
   ***************************************************************************** */
//*----------------------------------------------------------------------------
//* \fn    AT91F_TC_InterruptEnable
//* \brief Enable TC Interrupt
//*----------------------------------------------------------------------------
__inline static  void AT91F_TC_InterruptEnable(
        AT91PS_TC pTc,   // \arg  pointer to a TC controller
        unsigned int flag) // \arg  TC interrupt to be enabled
{
        pTc->TC_IER = flag;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区91| 99久久精品国产观看| 国产人久久人人人人爽| 色狠狠桃花综合| 九色综合国产一区二区三区| 亚洲色欲色欲www| 日韩精品一区二区三区四区| 色婷婷久久综合| 国内精品视频一区二区三区八戒| 亚洲综合在线免费观看| 亚洲一区二区在线播放相泽| 日韩欧美二区三区| 欧美性猛交xxxxxx富婆| 成人一区二区三区| 久久99这里只有精品| 亚洲国产综合人成综合网站| 中文字幕欧美日韩一区| 精品少妇一区二区三区在线视频 | 激情欧美一区二区三区在线观看| 亚洲精品精品亚洲| 国产精品精品国产色婷婷| 日韩精品一区二区三区四区| 欧美日韩国产综合一区二区三区| 91丨九色丨蝌蚪富婆spa| 国产精品一区二区三区四区| 免费看精品久久片| 天天色天天爱天天射综合| 伊人夜夜躁av伊人久久| 成人免费在线视频| 国产精品久久久久一区二区三区| 久久综合丝袜日本网| 日韩精品一区二区三区视频在线观看| 精品视频在线免费看| 91黄视频在线| 日本久久电影网| 色悠悠亚洲一区二区| 97久久超碰国产精品电影| 日韩精品一区国产麻豆| 欧美日本不卡视频| 欧美日韩免费观看一区二区三区| 欧美亚洲动漫另类| 欧美日韩一区久久| 欧美日本国产视频| 欧美一级高清片| 日韩精品一区二区三区四区视频| 欧美一区二区三区在| 欧美一区二区三区免费在线看| 欧美久久久久免费| 日韩午夜激情视频| 欧美成人国产一区二区| www亚洲一区| 国产欧美日韩一区二区三区在线观看| 久久久久久久性| 国产精品嫩草影院av蜜臀| 国产精品国模大尺度视频| 亚洲女同一区二区| 一区二区激情小说| 日本亚洲三级在线| 久久精品国产一区二区三区免费看| 麻豆国产欧美日韩综合精品二区| 韩国中文字幕2020精品| 丁香亚洲综合激情啪啪综合| av爱爱亚洲一区| 欧美在线你懂得| 91精品国产福利在线观看| 亚洲精品在线观| 欧美国产日产图区| 一区二区三区在线观看国产| 石原莉奈在线亚洲三区| 国产综合一区二区| 99久久久久久| 欧美肥妇毛茸茸| 久久综合999| 亚洲伦在线观看| 奇米精品一区二区三区在线观看| 国产麻豆日韩欧美久久| 91丨国产丨九色丨pron| 亚洲精品老司机| 日产国产高清一区二区三区| 国产经典欧美精品| 色94色欧美sute亚洲线路一久| 91精品久久久久久久91蜜桃| 国产欧美日韩麻豆91| 亚洲精品v日韩精品| 精品一区二区免费视频| 99国产精品国产精品久久| 欧美一区二区福利视频| 国产精品看片你懂得| 日韩在线a电影| 成人av电影观看| 91精品国产综合久久久久久久| 日本一区二区三区四区| 日韩不卡一二三区| gogo大胆日本视频一区| 日韩一级黄色大片| 中文字幕字幕中文在线中不卡视频| 日本成人在线看| 91香蕉视频黄| 久久久精品蜜桃| 五月综合激情网| 成人av资源在线| 日韩一级免费观看| 一区二区三区四区不卡视频| 国产精品影音先锋| 日韩三级免费观看| 亚洲一区二区三区影院| 暴力调教一区二区三区| 日韩免费视频一区二区| 亚洲一区二区三区精品在线| 精品电影一区二区三区| 亚洲一区二区三区四区在线观看| 国产精品资源在线看| 欧美一区二区免费| 亚洲国产综合人成综合网站| 97精品国产露脸对白| 久久久精品国产99久久精品芒果 | 亚洲电影一级黄| av午夜一区麻豆| 国产午夜亚洲精品不卡| 麻豆91精品视频| 欧美电影一区二区三区| 亚洲一区日韩精品中文字幕| 99久久er热在这里只有精品66| 久久先锋资源网| 久久狠狠亚洲综合| 欧美一区二区人人喊爽| 五月激情六月综合| 欧美日韩综合不卡| 一级日本不卡的影视| 99久久精品免费看国产| 国产精品视频在线看| 国产成人午夜片在线观看高清观看| 欧美大片在线观看| 美女视频一区在线观看| 91精品国产综合久久福利| 婷婷成人综合网| 欧美日韩国产综合一区二区 | 国产在线视频一区二区| 日韩精品在线看片z| 久久精品国产**网站演员| 欧美久久久久久久久久 | 国产一区二区电影| 欧美精品一区二区三区在线 | 成人永久免费视频| 中文字幕成人在线观看| 粉嫩一区二区三区在线看| 中文字幕 久热精品 视频在线 | 337p粉嫩大胆色噜噜噜噜亚洲| 蜜臀av亚洲一区中文字幕| 日韩精品一区二区三区swag | va亚洲va日韩不卡在线观看| 国产精品乱码久久久久久| 成人一区二区三区在线观看| 国产精品久久福利| 91国偷自产一区二区三区成为亚洲经典 | 国产精品久久99| 91免费小视频| 亚洲一区二区三区小说| 717成人午夜免费福利电影| 麻豆国产精品777777在线| 久久美女高清视频| 成人福利在线看| 夜夜嗨av一区二区三区中文字幕| 欧美三区在线观看| 男女激情视频一区| 国产日韩欧美综合在线| 91色porny在线视频| 亚洲成年人网站在线观看| 欧美电影免费观看高清完整版| 国产高清亚洲一区| 亚洲欧美一区二区三区国产精品| 欧美日韩一区二区三区四区| 精品一区二区av| 成人欧美一区二区三区在线播放| 欧美色区777第一页| 国内不卡的二区三区中文字幕| 国产精品视频免费看| 欧美日韩一二三区| 国产一区二区福利视频| 亚洲精品成人少妇| 精品国产一区二区三区久久影院 | 一区二区三区在线视频观看| 欧美一区永久视频免费观看| 国产黄色91视频| 亚洲国产视频直播| 久久久久久免费| 欧美无砖专区一中文字| 国产成人综合视频| 亚洲线精品一区二区三区八戒| 久久午夜色播影院免费高清| 欧美性受极品xxxx喷水| 国产精品一区二区在线播放| 亚洲成人精品影院| 国产欧美日韩综合精品一区二区| 欧美日韩国产综合视频在线观看| 成人黄色国产精品网站大全在线免费观看| 亚洲一二三区在线观看| 中文字幕+乱码+中文字幕一区| 欧美剧情片在线观看| 91色乱码一区二区三区|