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

📄 lib_at91rm9200_h.html

📁 AT91RM9200的USB相关ACM CDC的源代码包! AT91RM9200-BasicUSBPipe-ARM1_2-2_0.zip
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsNextRxEmpty">AT91F_PDC_IsNextRxEmpty</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> the next transfer descriptor has been moved to the current td</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_PDC_IsNextRxEmpty">AT91F_PDC_IsNextRxEmpty</a> ( <font color=#B22222>// \<font color=#0000FF>return</font> <font color=#0000FF>return</font> 1 <font color=#0000FF>if</font> transfer is complete</font>
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91RM9200_PDC.html#PDC_RNCR">PDC_RNCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_Open">AT91F_PDC_Open</a></b></font>
<font color=#B22222>//* \brief Open <a href="AT91RM9200_PDC.html#PDC">PDC</a>: disable TX and RX reset transfer descriptors, re-enable RX and TX</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_Open">AT91F_PDC_Open</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC)       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
    <font color=#B22222>//* Disable the RX and TX <a href="AT91RM9200_PDC.html#PDC">PDC</a> transfer requests</font>
	<a href="#AT91F_PDC_DisableRx">AT91F_PDC_DisableRx</a>(pPDC);
	<a href="#AT91F_PDC_DisableTx">AT91F_PDC_DisableTx</a>(pPDC);

	<font color=#B22222>//* Reset all Counter <font color=#0000FF>register</font> Next buffer first</font>
	<a href="#AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);
	<a href="#AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);
	<a href="#AT91F_PDC_SetTx">AT91F_PDC_SetTx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);
	<a href="#AT91F_PDC_SetRx">AT91F_PDC_SetRx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);

    <font color=#B22222>//* Enable the RX and TX <a href="AT91RM9200_PDC.html#PDC">PDC</a> transfer requests</font>
	<a href="#AT91F_PDC_EnableRx">AT91F_PDC_EnableRx</a>(pPDC);
	<a href="#AT91F_PDC_EnableTx">AT91F_PDC_EnableTx</a>(pPDC);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_Close">AT91F_PDC_Close</a></b></font>
<font color=#B22222>//* \brief Close <a href="AT91RM9200_PDC.html#PDC">PDC</a>: disable TX and RX reset transfer descriptors</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_Close">AT91F_PDC_Close</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC)       <font color=#B22222>// \arg pointer to a <a href="AT91RM9200_PDC.html#PDC">PDC</a> controller</font>
{
    <font color=#B22222>//* Disable the RX and TX <a href="AT91RM9200_PDC.html#PDC">PDC</a> transfer requests</font>
	<a href="#AT91F_PDC_DisableRx">AT91F_PDC_DisableRx</a>(pPDC);
	<a href="#AT91F_PDC_DisableTx">AT91F_PDC_DisableTx</a>(pPDC);

	<font color=#B22222>//* Reset all Counter <font color=#0000FF>register</font> Next buffer first</font>
	<a href="#AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);
	<a href="#AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);
	<a href="#AT91F_PDC_SetTx">AT91F_PDC_SetTx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);
	<a href="#AT91F_PDC_SetRx">AT91F_PDC_SetRx</a>(pPDC, (<font color=#0000FF>char</font> *) 0, 0);

}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_SendFrame">AT91F_PDC_SendFrame</a></b></font>
<font color=#B22222>//* \brief Close <a href="AT91RM9200_PDC.html#PDC">PDC</a>: disable TX and RX reset transfer descriptors</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_PDC_SendFrame">AT91F_PDC_SendFrame</a>(
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC,
	<font color=#0000FF>char</font> *pBuffer,
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szBuffer,
	<font color=#0000FF>char</font> *pNextBuffer,
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szNextBuffer )
{
	<font color=#0000FF>if</font> (<a href="#AT91F_PDC_IsTxEmpty">AT91F_PDC_IsTxEmpty</a>(pPDC)) {
		<font color=#B22222>//* Buffer and next buffer can be initialized</font>
		<a href="#AT91F_PDC_SetTx">AT91F_PDC_SetTx</a>(pPDC, pBuffer, szBuffer);
		<a href="#AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a>(pPDC, pNextBuffer, szNextBuffer);
		<font color=#0000FF>return</font> 2;
	}
	<font color=#0000FF>else</font> <font color=#0000FF>if</font> (<a href="#AT91F_PDC_IsNextTxEmpty">AT91F_PDC_IsNextTxEmpty</a>(pPDC)) {
		<font color=#B22222>//* Only one buffer can be initialized</font>
		<a href="#AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a>(pPDC, pBuffer, szBuffer);
		<font color=#0000FF>return</font> 1;
	}
	<font color=#0000FF>else</font> {
		<font color=#B22222>//* All buffer are in use...</font>
		<font color=#0000FF>return</font> 0;
	}
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_ReceiveFrame">AT91F_PDC_ReceiveFrame</a></b></font>
<font color=#B22222>//* \brief Close <a href="AT91RM9200_PDC.html#PDC">PDC</a>: disable TX and RX reset transfer descriptors</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_PDC_ReceiveFrame">AT91F_PDC_ReceiveFrame</a> (
	<a href="AT91RM9200_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC,
	<font color=#0000FF>char</font> *pBuffer,
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szBuffer,
	<font color=#0000FF>char</font> *pNextBuffer,
	<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> szNextBuffer )
{
	<font color=#0000FF>if</font> (<a href="#AT91F_PDC_IsRxEmpty">AT91F_PDC_IsRxEmpty</a>(pPDC)) {
		<font color=#B22222>//* Buffer and next buffer can be initialized</font>
		<a href="#AT91F_PDC_SetRx">AT91F_PDC_SetRx</a>(pPDC, pBuffer, szBuffer);
		<a href="#AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a>(pPDC, pNextBuffer, szNextBuffer);
		<font color=#0000FF>return</font> 2;
	}
	<font color=#0000FF>else</font> <font color=#0000FF>if</font> (<a href="#AT91F_PDC_IsNextRxEmpty">AT91F_PDC_IsNextRxEmpty</a>(pPDC)) {
		<font color=#B22222>//* Only one buffer can be initialized</font>
		<a href="#AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a>(pPDC, pBuffer, szBuffer);
		<font color=#0000FF>return</font> 1;
	}
	<font color=#0000FF>else</font> {
		<font color=#B22222>//* All buffer are in use...</font>
		<font color=#0000FF>return</font> 0;
	}
}
/* *****************************************************************************
                SOFTWARE API FOR <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a>
   ***************************************************************************** */
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_DBGU_InterruptEnable">AT91F_DBGU_InterruptEnable</a></b></font>
<font color=#B22222>//* \brief Enable <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> Interrupt</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_DBGU_InterruptEnable">AT91F_DBGU_InterruptEnable</a>(
        <a href="AT91RM9200_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu,   <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> controller</font>
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> flag) <font color=#B22222>// \arg  dbgu interrupt to be enabled</font>
{
        pDbgu-><a href="AT91RM9200_DBGU.html#DBGU_IER">DBGU_IER</a> = flag;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_DBGU_InterruptDisable">AT91F_DBGU_InterruptDisable</a></b></font>
<font color=#B22222>//* \brief Disable <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> Interrupt</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_DBGU_InterruptDisable">AT91F_DBGU_InterruptDisable</a>(
        <a href="AT91RM9200_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu,   <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> controller</font>
        <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> flag) <font color=#B22222>// \arg  dbgu interrupt to be disabled</font>
{
        pDbgu-><a href="AT91RM9200_DBGU.html#DBGU_IDR">DBGU_IDR</a> = flag;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_DBGU_GetInterruptMaskStatus">AT91F_DBGU_GetInterruptMaskStatus</a></b></font>
<font color=#B22222>//* \brief Return <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> Interrupt Mask Status</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_DBGU_GetInterruptMaskStatus">AT91F_DBGU_GetInterruptMaskStatus</a>( <font color=#B22222>// \<font color=#0000FF>return</font> <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> Interrupt Mask Status</font>
        <a href="AT91RM9200_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu) <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> controller</font>
{
        <font color=#0000FF>return</font> pDbgu-><a href="AT91RM9200_DBGU.html#DBGU_IMR">DBGU_IMR</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_DBGU_IsInterruptMasked">AT91F_DBGU_IsInterruptMasked</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> <a href="AT91RM9200_DBGU.html#DBGU">DBGU</a> Interrupt is Masked </font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_DBGU_IsInterruptMasked">AT91F_DBGU_IsInterruptMasked</a>(
        <a href="AT91RM9200_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu,   <font color=#B22222>// \arg  pointer to a <a href="AT91RM9200_DBGU.html#DBGU">DBGU</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_DBGU_GetInterruptMaskStatus">AT91F_DBGU_GetInterruptMaskStatus</a>(pDbgu) & flag);
}

/* *****************************************************************************
                SOFTWARE API FOR <a href="AT91RM9200_RTC.html#RTC">RTC</a>
   ***************************************************************************** */
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_RTC_InterruptEnable">AT91F_RTC_InterruptEnable</a></b></font>
<font color=#B22222>//* \brief Enable <a href="AT91RM9200_RTC.html#RTC">RTC</a> Interrupt</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_RTC_InterruptEnable">AT91F_RTC_InterruptEnable</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 enabled</font>
{
        pRtc-><a href="AT91RM9200_RTC.html#RTC_IER">RTC_IER</a> = flag;

⌨️ 快捷键说明

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