📄 lib_at91sam7s128_h.html
字号:
{
pAic-><a href="AT91SAM7S128_AIC.html#AIC_ISCR">AIC_ISCR</a> = (0x1 << irq_id) ;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_IsActive">AT91F_AIC_IsActive</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> an IT is active</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_AIC_IsActive">AT91F_AIC_IsActive</a> (
<a href="AT91SAM7S128_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM7S128_AIC.html#AIC">AIC</a> registers</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> irq_id) <font color=#B22222>// \arg Interrupt Number</font>
{
<font color=#0000FF>return</font> (pAic-><a href="AT91SAM7S128_AIC.html#AIC_ISR">AIC_ISR</a> & (0x1 << irq_id));
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_IsPending">AT91F_AIC_IsPending</a></b></font>
<font color=#B22222>//* \brief Test <font color=#0000FF>if</font> an IT is pending</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_AIC_IsPending">AT91F_AIC_IsPending</a> (
<a href="AT91SAM7S128_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM7S128_AIC.html#AIC">AIC</a> registers</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> irq_id) <font color=#B22222>// \arg Interrupt Number</font>
{
<font color=#0000FF>return</font> (pAic-><a href="AT91SAM7S128_AIC.html#AIC_IPR">AIC_IPR</a> & (0x1 << irq_id));
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_Open">AT91F_AIC_Open</a></b></font>
<font color=#B22222>//* \brief Set exception vectors and <a href="AT91SAM7S128_AIC.html#AIC">AIC</a> registers to <font color=#0000FF>default</font> values</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_AIC_Open">AT91F_AIC_Open</a>(
<a href="AT91SAM7S128_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM7S128_AIC.html#AIC">AIC</a> registers</font>
<font color=#0000FF>void</font> (*IrqHandler) (), <font color=#B22222>// \arg Default IRQ vector exception</font>
<font color=#0000FF>void</font> (*FiqHandler) (), <font color=#B22222>// \arg Default FIQ vector exception</font>
<font color=#0000FF>void</font> (*DefaultHandler) (), <font color=#B22222>// \arg Default Handler set in ISR</font>
<font color=#0000FF>void</font> (*SpuriousHandler) (), <font color=#B22222>// \arg Default Spurious Handler</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> protectMode) <font color=#B22222>// \arg Debug Control Register</font>
{
<font color=#0000FF>int</font> i;
<font color=#B22222>// Disable all interrupts and set IVR to the <font color=#0000FF>default</font> handler</font>
<font color=#0000FF>for</font> (i = 0; i < 32; ++i) {
<a href="#AT91F_AIC_DisableIt">AT91F_AIC_DisableIt</a>(pAic, i);
<a href="#AT91F_AIC_ConfigureIt">AT91F_AIC_ConfigureIt</a>(pAic, i, <a href="AT91SAM7S128_h.html#AT91C_AIC_PRIOR_LOWEST">AT91C_AIC_PRIOR_LOWEST</a>, <a href="AT91SAM7S128_h.html#AT91C_AIC_SRCTYPE_HIGH_LEVEL">AT91C_AIC_SRCTYPE_HIGH_LEVEL</a>, DefaultHandler);
}
<font color=#B22222>// Set the IRQ exception vector</font>
<a href="#AT91F_AIC_SetExceptionVector">AT91F_AIC_SetExceptionVector</a>((<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> *) 0x18, IrqHandler);
<font color=#B22222>// Set the Fast Interrupt exception vector</font>
<a href="#AT91F_AIC_SetExceptionVector">AT91F_AIC_SetExceptionVector</a>((<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> *) 0x1C, FiqHandler);
pAic-><a href="AT91SAM7S128_AIC.html#AIC_SPU">AIC_SPU</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) SpuriousHandler;
pAic-><a href="AT91SAM7S128_AIC.html#AIC_DCR">AIC_DCR</a> = protectMode;
}
/* *****************************************************************************
SOFTWARE API FOR <a href="AT91SAM7S128_PDC.html#PDC">PDC</a>
***************************************************************************** */
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a></b></font>
<font color=#B22222>//* \brief Set the next receive transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetNextRx">AT91F_PDC_SetNextRx</a> (
<a href="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC, <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
<font color=#0000FF>char</font> *address, <font color=#B22222>// \arg address to the next bloc to be received</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes) <font color=#B22222>// \arg number of bytes to be received</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_RNPR">PDC_RNPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_RNCR">PDC_RNCR</a> = bytes;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a></b></font>
<font color=#B22222>//* \brief Set the next transmit transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetNextTx">AT91F_PDC_SetNextTx</a> (
<a href="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC, <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
<font color=#0000FF>char</font> *address, <font color=#B22222>// \arg address to the next bloc to be transmitted</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes) <font color=#B22222>// \arg number of bytes to be transmitted</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_TNPR">PDC_TNPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_TNCR">PDC_TNCR</a> = bytes;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_PDC_SetRx">AT91F_PDC_SetRx</a></b></font>
<font color=#B22222>//* \brief Set the receive transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetRx">AT91F_PDC_SetRx</a> (
<a href="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC, <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
<font color=#0000FF>char</font> *address, <font color=#B22222>// \arg address to the next bloc to be received</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes) <font color=#B22222>// \arg number of bytes to be received</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_RPR">PDC_RPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_RCR">PDC_RCR</a> = bytes;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_PDC_SetTx">AT91F_PDC_SetTx</a></b></font>
<font color=#B22222>//* \brief Set the transmit transfer descriptor</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_SetTx">AT91F_PDC_SetTx</a> (
<a href="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC, <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
<font color=#0000FF>char</font> *address, <font color=#B22222>// \arg address to the next bloc to be transmitted</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> bytes) <font color=#B22222>// \arg number of bytes to be transmitted</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_TPR">PDC_TPR</a> = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) address;
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_TCR">PDC_TCR</a> = bytes;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_PDC_EnableTx">AT91F_PDC_EnableTx</a></b></font>
<font color=#B22222>//* \brief Enable transmit</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_PDC_EnableTx">AT91F_PDC_EnableTx</a> (
<a href="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC ) <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM7S128_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="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC ) <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM7S128_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="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC ) <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM7S128_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="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC ) <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
{
pPDC-><a href="AT91SAM7S128_PDC.html#PDC_PTCR">PDC_PTCR</a> = <a href="AT91SAM7S128_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="AT91SAM7S128_h.html#AT91PS_PDC">AT91PS_PDC</a> pPDC ) <font color=#B22222>// \arg pointer to a <a href="AT91SAM7S128_PDC.html#PDC">PDC</a> controller</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -