⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lib_at91rm9200_h.html

📁 AT91RM9200的USB相关ACM CDC的源代码包! AT91RM9200-BasicUSBPipe-ARM1_2-2_0.zip
💻 HTML
📖 第 1 页 / 共 5 页
字号:
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_RTC_InterruptDisable">AT91F_RTC_InterruptDisable</a></b></font>
<font color=#B22222>//* \brief Disable <a href="AT91RM9200_RTC.html#RTC">RTC</a> Interrupt</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_RTC_InterruptDisable">AT91F_RTC_InterruptDisable</a>(
        <a href="AT91RM9200_h.html#AT91PS_RTC">AT91PS_RTC</a> pRtc,   <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_RTC.html#RTC">RTC</a> controller</font>
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> flag) <font color=#B22222>// \arg  <a href="AT91RM9200_RTC.html#RTC">RTC</a> interrupt to be disabled</font>
{
        pRtc-><a href="AT91RM9200_RTC.html#RTC_IDR">RTC_IDR</a> = flag;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_RTC_GetInterruptMaskStatus">AT91F_RTC_GetInterruptMaskStatus</a></b></font>
<font color=#B22222>//* \brief Return <a href="AT91RM9200_RTC.html#RTC">RTC</a> Interrupt Mask Status</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_RTC_GetInterruptMaskStatus">AT91F_RTC_GetInterruptMaskStatus</a>( <font color=#B22222>// \<font color=#0000FF>return</font> <a href="AT91RM9200_RTC.html#RTC">RTC</a> Interrupt Mask Status</font>
        <a href="AT91RM9200_h.html#AT91PS_RTC">AT91PS_RTC</a> pRtc) <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_RTC.html#RTC">RTC</a> controller</font>
{
        <font color=#0000FF>return</font> pRtc-><a href="AT91RM9200_RTC.html#RTC_IMR">RTC_IMR</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_RTC_IsInterruptMasked">AT91F_RTC_IsInterruptMasked</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> <a href="AT91RM9200_RTC.html#RTC">RTC</a> Interrupt is Masked </font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_RTC_IsInterruptMasked">AT91F_RTC_IsInterruptMasked</a>(
        <a href="AT91RM9200_h.html#AT91PS_RTC">AT91PS_RTC</a> pRtc,   <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_RTC.html#RTC">RTC</a> controller</font>
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> flag) <font color=#B22222>// \arg  flag to be tested</font>
{
        <font color=#0000FF>return</font> (<a href="#AT91F_RTC_GetInterruptMaskStatus">AT91F_RTC_GetInterruptMaskStatus</a>(pRtc) & flag);
}

/* *****************************************************************************
                SOFTWARE API FOR <a href="AT91RM9200_SSC.html#SSC">SSC</a>
   ***************************************************************************** */
<font color=#B22222>//* Define the standard I2S mode configuration</font>

<font color=#B22222>//* Configuration to set in the <a href="AT91RM9200_SSC.html#SSC">SSC</a> Transmit Clock Mode Register</font>
<font color=#B22222>//* Parameters :  nb_bit_by_slot : 8, 16 or 32 bits</font>
<font color=#B22222>//* 			  nb_slot_by_frame : number of channels</font>
<font color=#008200>#define</font> AT91C_I2S_ASY_MASTER_TX_SETTING(nb_bit_by_slot, nb_slot_by_frame)( +\
									   <a href="AT91RM9200_h.html#AT91C_SSC_CKS_DIV">AT91C_SSC_CKS_DIV</a>   +\
                            		   <a href="AT91RM9200_h.html#AT91C_SSC_CKO_CONTINOUS">AT91C_SSC_CKO_CONTINOUS</a>      +\
                            		   <a href="AT91RM9200_h.html#AT91C_SSC_CKG_NONE">AT91C_SSC_CKG_NONE</a>    +\
                                       <a href="AT91RM9200_h.html#AT91C_SSC_START_FALL_RF">AT91C_SSC_START_FALL_RF</a> +\
                           			   <a href="AT91RM9200_h.html#AT91C_SSC_STTOUT">AT91C_SSC_STTOUT</a>  +\
                            		   ((1<<16) & <a href="AT91RM9200_h.html#AT91C_SSC_STTDLY">AT91C_SSC_STTDLY</a>) +\
                            		   ((((nb_bit_by_slot*nb_slot_by_frame)/2)-1) <<24))


<font color=#B22222>//* Configuration to set in the <a href="AT91RM9200_SSC.html#SSC">SSC</a> Transmit Frame Mode Register</font>
<font color=#B22222>//* Parameters : nb_bit_by_slot : 8, 16 or 32 bits</font>
<font color=#B22222>//* 			 nb_slot_by_frame : number of channels</font>
<font color=#008200>#define</font> AT91C_I2S_ASY_TX_FRAME_SETTING(nb_bit_by_slot, nb_slot_by_frame)( +\
									(nb_bit_by_slot-1)  +\
                            		<a href="AT91RM9200_h.html#AT91C_SSC_MSBF">AT91C_SSC_MSBF</a>   +\
                            		(((nb_slot_by_frame-1)<<8) & <a href="AT91RM9200_h.html#AT91C_SSC_DATNB">AT91C_SSC_DATNB</a>)  +\
                            		(((nb_bit_by_slot-1)<<16) & <a href="AT91RM9200_h.html#AT91C_SSC_FSLEN">AT91C_SSC_FSLEN</a>) +\
                            		<a href="AT91RM9200_h.html#AT91C_SSC_FSOS_NEGATIVE">AT91C_SSC_FSOS_NEGATIVE</a>)


<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_SSC_SetBaudrate">AT91F_SSC_SetBaudrate</a></b></font>
<font color=#B22222>//* \brief Set the baudrate according to the CPU clock</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SSC_SetBaudrate">AT91F_SSC_SetBaudrate</a> (
        <a href="AT91RM9200_h.html#AT91PS_SSC">AT91PS_SSC</a> pSSC,        <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SSC.html#SSC">SSC</a> controller</font>
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> mainClock, <font color=#B22222>// \arg peripheral clock</font>
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> speed)     <font color=#B22222>// \arg <a href="AT91RM9200_SSC.html#SSC">SSC</a> baudrate</font>
{
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> baud_value;
        <font color=#B22222>//* Define the baud rate divisor <font color=#0000FF>register</font></font>
        <font color=#0000FF>if</font> (speed == 0)
           baud_value = 0;
        <font color=#0000FF>else</font>
        {
           baud_value = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) (mainClock * 10)/(2*speed);
           <font color=#0000FF>if</font> ((baud_value % 10) >= 5)
                  baud_value = (baud_value / 10) + 1;
           <font color=#0000FF>else</font>
                  baud_value /= 10;
        }

        pSSC-><a href="AT91RM9200_SSC.html#SSC_CMR">SSC_CMR</a> = baud_value;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_SSC_Configure">AT91F_SSC_Configure</a></b></font>
<font color=#B22222>//* \brief Configure <a href="AT91RM9200_SSC.html#SSC">SSC</a></font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SSC_Configure">AT91F_SSC_Configure</a> (
             <a href="AT91RM9200_h.html#AT91PS_SSC">AT91PS_SSC</a> pSSC,          <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SSC.html#SSC">SSC</a> controller</font>
             <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> syst_clock,  <font color=#B22222>// \arg System Clock Frequency</font>
             <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> baud_rate,   <font color=#B22222>// \arg Expected Baud Rate Frequency</font>
             <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> clock_rx,    <font color=#B22222>// \arg Receiver Clock Parameters</font>
             <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> mode_rx,     <font color=#B22222>// \arg mode Register to be programmed</font>
             <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> clock_tx,    <font color=#B22222>// \arg Transmitter Clock Parameters</font>
             <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> mode_tx)     <font color=#B22222>// \arg mode Register to be programmed</font>
{
    <font color=#B22222>//* Disable interrupts</font>
	pSSC-><a href="AT91RM9200_SSC.html#SSC_IDR">SSC_IDR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) -1;

    <font color=#B22222>//* Reset receiver and transmitter</font>
	pSSC-><a href="AT91RM9200_SSC.html#SSC_CR">SSC_CR</a> = <a href="AT91RM9200_h.html#AT91C_SSC_SWRST">AT91C_SSC_SWRST</a> | <a href="AT91RM9200_h.html#AT91C_SSC_RXDIS">AT91C_SSC_RXDIS</a> | <a href="AT91RM9200_h.html#AT91C_SSC_TXDIS">AT91C_SSC_TXDIS</a> ;

    <font color=#B22222>//* Define the Clock Mode Register</font>
	<a href="#AT91F_SSC_SetBaudrate">AT91F_SSC_SetBaudrate</a>(pSSC, syst_clock, baud_rate);

     <font color=#B22222>//* Write the Receive Clock Mode Register</font>
	pSSC-><a href="AT91RM9200_SSC.html#SSC_RCMR">SSC_RCMR</a> =  clock_rx;

     <font color=#B22222>//* Write the Transmit Clock Mode Register</font>
	pSSC-><a href="AT91RM9200_SSC.html#SSC_TCMR">SSC_TCMR</a> =  clock_tx;

     <font color=#B22222>//* Write the Receive Frame Mode Register</font>
	pSSC-><a href="AT91RM9200_SSC.html#SSC_RFMR">SSC_RFMR</a> =  mode_rx;

     <font color=#B22222>//* Write the Transmit Frame Mode Register</font>
	pSSC-><a href="AT91RM9200_SSC.html#SSC_TFMR">SSC_TFMR</a> =  mode_tx;

    <font color=#B22222>//* Clear Transmit and Receive Counters</font>
	<a href="#AT91F_PDC_Open">AT91F_PDC_Open</a>((<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a>) &(pSSC->SSC_RPR));


}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_SSC_EnableRx">AT91F_SSC_EnableRx</a></b></font>
<font color=#B22222>//* \brief Enable receiving datas</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SSC_EnableRx">AT91F_SSC_EnableRx</a> (
	<a href="AT91RM9200_h.html#AT91PS_SSC">AT91PS_SSC</a> pSSC)     <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SSC.html#SSC">SSC</a> controller</font>
{
    <font color=#B22222>//* Enable receiver</font>
    pSSC-><a href="AT91RM9200_SSC.html#SSC_CR">SSC_CR</a> = <a href="AT91RM9200_h.html#AT91C_SSC_RXEN">AT91C_SSC_RXEN</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_SSC_DisableRx">AT91F_SSC_DisableRx</a></b></font>
<font color=#B22222>//* \brief Disable receiving datas</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SSC_DisableRx">AT91F_SSC_DisableRx</a> (
	<a href="AT91RM9200_h.html#AT91PS_SSC">AT91PS_SSC</a> pSSC)     <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SSC.html#SSC">SSC</a> controller</font>
{
    <font color=#B22222>//* Disable receiver</font>
    pSSC-><a href="AT91RM9200_SSC.html#SSC_CR">SSC_CR</a> = <a href="AT91RM9200_h.html#AT91C_SSC_RXDIS">AT91C_SSC_RXDIS</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_SSC_EnableTx">AT91F_SSC_EnableTx</a></b></font>
<font color=#B22222>//* \brief Enable sending datas</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_SSC_EnableTx">AT91F_SSC_EnableTx</a> (
	<a href="AT91RM9200_h.html#AT91PS_SSC">AT91PS_SSC</a> pSSC)     <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_SSC.html#SSC">SSC</a> controller</font>
{
    <font color=#B22222>//* Enable  transmitter</font>
    pSSC-><a href="AT91RM9200_SSC.html#SSC_CR">SSC_CR</a> = <a href="AT91RM9200_h.html#AT91C_SSC_TXEN">AT91C_SSC_TXEN</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_SSC_DisableTx">AT91F_SSC_DisableTx</a></b></font>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -