📄 lib_at91sam9260_h.html
字号:
{
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 + -