📄 lib_at91sam9260_h.html
字号:
<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="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu, <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu, <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_DBGU.html#DBGU">DBGU</a> Interrupt Mask Status</font>
<a href="AT91SAM9260_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu) <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_DBGU.html#DBGU">DBGU</a> controller</font>
{
<font color=#0000FF>return</font> pDbgu-><a href="AT91SAM9260_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="AT91SAM9260_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="AT91SAM9260_h.html#AT91PS_DBGU">AT91PS_DBGU</a> pDbgu, <font color=#B22222>// \arg pointer to a <a href="AT91SAM9260_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="AT91SAM9260_AIC.html#AIC">AIC</a>
***************************************************************************** */
<font color=#008200>#define</font> AT91C_AIC_BRANCH_OPCODE ((<font color=#0000FF>void</font> (*) ()) 0xE51FFF20) <font color=#B22222>// ldr, pc, [pc, #-&F20]</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_ConfigureIt">AT91F_AIC_ConfigureIt</a></b></font>
<font color=#B22222>//* \brief Interrupt Handler Initialization</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_AIC_ConfigureIt">AT91F_AIC_ConfigureIt</a> (
<a href="AT91SAM9260_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM9260_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 to initialize</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> priority, <font color=#B22222>// \arg priority to give to the interrupt</font>
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> src_type, <font color=#B22222>// \arg activation and sense of activation</font>
<font color=#0000FF>void</font> (*newHandler) (<font color=#0000FF>void</font>) ) <font color=#B22222>// \arg address of the interrupt handler</font>
{
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> oldHandler;
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> mask ;
oldHandler = pAic-><a href="AT91SAM9260_AIC.html#AIC_SVR">AIC_SVR</a>[irq_id];
mask = 0x1 << irq_id ;
<font color=#B22222>//* Disable the interrupt on the interrupt controller</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_IDCR">AIC_IDCR</a> = mask ;
<font color=#B22222>//* Save the interrupt handler routine pointer and the interrupt priority</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_SVR">AIC_SVR</a>[irq_id] = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) newHandler ;
<font color=#B22222>//* Store the Source Mode Register</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_SMR">AIC_SMR</a>[irq_id] = src_type | priority ;
<font color=#B22222>//* Clear the interrupt on the interrupt controller</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_ICCR">AIC_ICCR</a> = mask ;
<font color=#0000FF>return</font> oldHandler;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_EnableIt">AT91F_AIC_EnableIt</a></b></font>
<font color=#B22222>//* \brief Enable corresponding IT number</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_AIC_EnableIt">AT91F_AIC_EnableIt</a> (
<a href="AT91SAM9260_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM9260_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 to initialize</font>
{
<font color=#B22222>//* Enable the interrupt on the interrupt controller</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_IECR">AIC_IECR</a> = 0x1 << irq_id ;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_DisableIt">AT91F_AIC_DisableIt</a></b></font>
<font color=#B22222>//* \brief Disable corresponding IT number</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_AIC_DisableIt">AT91F_AIC_DisableIt</a> (
<a href="AT91SAM9260_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM9260_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 to initialize</font>
{
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> mask = 0x1 << irq_id;
<font color=#B22222>//* Disable the interrupt on the interrupt controller</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_IDCR">AIC_IDCR</a> = mask ;
<font color=#B22222>//* Clear the interrupt on the Interrupt Controller ( <font color=#0000FF>if</font> one is pending )</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_ICCR">AIC_ICCR</a> = mask ;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_ClearIt">AT91F_AIC_ClearIt</a></b></font>
<font color=#B22222>//* \brief Clear corresponding IT number</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_AIC_ClearIt">AT91F_AIC_ClearIt</a> (
<a href="AT91SAM9260_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic, <font color=#B22222>// \arg pointer to the <a href="AT91SAM9260_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 to initialize</font>
{
<font color=#B22222>//* Clear the interrupt on the Interrupt Controller ( <font color=#0000FF>if</font> one is pending )</font>
pAic-><a href="AT91SAM9260_AIC.html#AIC_ICCR">AIC_ICCR</a> = (0x1 << irq_id);
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_AcknowledgeIt">AT91F_AIC_AcknowledgeIt</a></b></font>
<font color=#B22222>//* \brief Acknowledge corresponding IT number</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font> <a href="#AT91F_AIC_AcknowledgeIt">AT91F_AIC_AcknowledgeIt</a> (
<a href="AT91SAM9260_h.html#AT91PS_AIC">AT91PS_AIC</a> pAic) <font color=#B22222>// \arg pointer to the <a href="AT91SAM9260_AIC.html#AIC">AIC</a> registers</font>
{
pAic-><a href="AT91SAM9260_AIC.html#AIC_EOICR">AIC_EOICR</a> = pAic-><a href="AT91SAM9260_AIC.html#AIC_EOICR">AIC_EOICR</a>;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_SetExceptionVector">AT91F_AIC_SetExceptionVector</a></b></font>
<font color=#B22222>//* \brief Configure vector handler</font>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> <a href="#AT91F_AIC_SetExceptionVector">AT91F_AIC_SetExceptionVector</a> (
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> *pVector, <font color=#B22222>// \arg pointer to the <a href="AT91SAM9260_AIC.html#AIC">AIC</a> registers</font>
<font color=#0000FF>void</font> (*Handler) () ) <font color=#B22222>// \arg Interrupt Handler</font>
{
<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font> oldVector = *pVector;
<font color=#0000FF>if</font> ((<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) Handler == (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) AT91C_AIC_BRANCH_OPCODE)
*pVector = (<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) AT91C_AIC_BRANCH_OPCODE;
<font color=#0000FF>else</font>
*pVector = (((((<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) Handler) - ((<font color=#0000FF>unsigned</font> <font color=#0000FF>int</font>) pVector) - 0x8) >> 2) & 0x00FFFFFF) | 0xEA000000;
<font color=#0000FF>return</font> oldVector;
}
<font color=#B22222>//*----------------------------------------------------------------------------</font>
<font color=#B22222>//* \fn <b><a name="AT91F_AIC_Trig">AT91F_AIC_Trig</a></b></font>
<font color=#B22222>//* \brief Trig an IT</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -