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

📄 lib_at91sam9260_h.html

📁 关于at91sam9260的linux全部源代码。
💻 HTML
📖 第 1 页 / 共 5 页
字号:
__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>
<font color=#B22222>//*----------------------------------------------------------------------------</font>
__inline <font color=#0000FF>void</font>  <a href="#AT91F_AIC_Trig">AT91F_AIC_Trig</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</font>
{
	pAic-><a href="AT91SAM9260_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="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</font>
{
	<font color=#0000FF>return</font> (pAic-><a href="AT91SAM9260_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="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</font>
{
	<font color=#0000FF>return</font> (pAic-><a href="AT91SAM9260_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="AT91SAM9260_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="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>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>
{

⌨️ 快捷键说明

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