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

📄 lib_at91sam9260_h.html

📁 ATMEL AT91SAM9260的中段控制程序!
💻 HTML
📖 第 1 页 / 共 5 页
字号:
{
	pPDC-><a href="AT91SAM9260_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM9260_h.html#AT91C_PDC_TXTEN">AT91C_PDC_TXTEN</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_EnableRx">AT91F_PDC_EnableRx</a></b></font>
<font color=#B22222>//* \brief Enable receive</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_EnableRx">AT91F_PDC_EnableRx</a> (
	<a href="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91SAM9260_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM9260_h.html#AT91C_PDC_RXTEN">AT91C_PDC_RXTEN</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_DisableTx">AT91F_PDC_DisableTx</a></b></font>
<font color=#B22222>//* \brief Disable transmit</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_DisableTx">AT91F_PDC_DisableTx</a> (
	<a href="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91SAM9260_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM9260_h.html#AT91C_PDC_TXTDIS">AT91C_PDC_TXTDIS</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_DisableRx">AT91F_PDC_DisableRx</a></b></font>
<font color=#B22222>//* \brief Disable receive</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_DisableRx">AT91F_PDC_DisableRx</a> (
	<a href="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	pPDC-><a href="AT91SAM9260_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM9260_h.html#AT91C_PDC_RXTDIS">AT91C_PDC_RXTDIS</a>;
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsTxEmpty">AT91F_PDC_IsTxEmpty</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> the current transfer descriptor has been sent</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_PDC_IsTxEmpty">AT91F_PDC_IsTxEmpty</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="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91SAM9260_PDC.html#PDC_TCR">PDC_TCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsNextTxEmpty">AT91F_PDC_IsNextTxEmpty</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_IsNextTxEmpty">AT91F_PDC_IsNextTxEmpty</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="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91SAM9260_PDC.html#PDC_TNCR">PDC_TNCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn    <b><a name="AT91F_PDC_IsRxEmpty">AT91F_PDC_IsRxEmpty</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> the current transfer descriptor has been filled</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>int</font> <a href="#AT91F_PDC_IsRxEmpty">AT91F_PDC_IsRxEmpty</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="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91SAM9260_PDC.html#PDC_RCR">PDC_RCR</a>);
}

<font color=#B22222>//*----------------------------------------------------------------------------</font>
<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="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC )       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
	<font color=#0000FF>return</font> !(pPDC-><a href="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC)       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
    <font color=#B22222>//* Disable the RX and TX <a href="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC)       <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_PDC.html#PDC">PDC</a> controller</font>
{
    <font color=#B22222>//* Disable the RX and TX <a href="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_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;
	}

⌨️ 快捷键说明

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