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

📄 h8300h.c

📁 澳洲人写的Cortex,包括uC_IP协议栈
💻 C
📖 第 1 页 / 共 5 页
字号:
<i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegDMA">hrdi_RegDMA</a></font></b>(    <i>crtx_Int_t</i>  Vector_a,    <i>crtx_Int_t</i>  Level_a     __attribute__((__unused__))){</font>    <b>switch</b>(Vector_a)    {    <b>case</b> <a href="H83H_VECTOR_DMAC0_0A.FIND-DEF">H83H_VECTOR_DMAC0_0A</a>:  <a href="H83H_DTCR0A.FIND-DEF">H83H_DTCR0A</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_0B.FIND-DEF">H83H_VECTOR_DMAC0_0B</a>:  <a href="H83H_DTCR0B.FIND-DEF">H83H_DTCR0B</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_1A.FIND-DEF">H83H_VECTOR_DMAC0_1A</a>:  <a href="H83H_DTCR1A.FIND-DEF">H83H_DTCR1A</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_1B.FIND-DEF">H83H_VECTOR_DMAC0_1B</a>:  <a href="H83H_DTCR1B.FIND-DEF">H83H_DTCR1B</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_5F2A.FIND-DEF">H83H_VECTOR_DMAC1_2A</a>:  <a href="H83H_DTCR2A.FIND-DEF">H83H_DTCR2A</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_2B.FIND-DEF">H83H_VECTOR_DMAC1_2B</a>:  <a href="H83H_DTCR2B.FIND-DEF">H83H_DTCR2B</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_5F3A.FIND-DEF">H83H_VECTOR_DMAC1_3A</a>:  <a href="H83H_DTCR3A.FIND-DEF">H83H_DTCR3A</a> |= 0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_3B.FIND-DEF">H83H_VECTOR_DMAC1_3B</a>:  <a href="H83H_DTCR3B.FIND-DEF">H83H_DTCR3B</a> |= 0x08; <b>break</b>;    }    <b>return</b>;}<font color="#6920ac">/* * hrdi_RegSCI */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegSCI">hrdi_RegSCI</a></font></b>(    <i>crtx_Int_t</i>  Vector_a,    <i>crtx_Int_t</i>  Level_a     __attribute__((__unused__))){</font>    <b>switch</b>(Vector_a)    {    <b>case</b> <a href="H83H_VECTOR_SCI0_ERR.FIND-DEF">H83H_VECTOR_SCI0_ERR</a>:  <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_RX.FIND-DEF">H83H_VECTOR_SCI0_RX</a>:   <a href="H83H_SCR0.FIND-DEF">H83H_SCR0</a> |= 0x40; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_TX.FIND-DEF">H83H_VECTOR_SCI0_TX</a>:   <a href="H83H_SCR0.FIND-DEF">H83H_SCR0</a> |= 0x80; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_END.FIND-DEF">H83H_VECTOR_SCI0_END</a>:  <a href="H83H_SCR0.FIND-DEF">H83H_SCR0</a> |= 0x04; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_ERR.FIND-DEF">H83H_VECTOR_SCI1_ERR</a>:  <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_RX.FIND-DEF">H83H_VECTOR_SCI1_RX</a>:   <a href="H83H_SCR1.FIND-DEF">H83H_SCR1</a> |= 0x40; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_TX.FIND-DEF">H83H_VECTOR_SCI1_TX</a>:   <a href="H83H_SCR1.FIND-DEF">H83H_SCR1</a> |= 0x80; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_END.FIND-DEF">H83H_VECTOR_SCI1_END</a>:  <a href="H83H_SCR1.FIND-DEF">H83H_SCR1</a> |= 0x04; <b>break</b>;    }    <b>return</b>;}<font color="#6920ac">/* * hrdi_RegAD */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RegAD">hrdi_RegAD</a></font></b>(    <i>crtx_Int_t</i>  Level_a     __attribute__((__unused__))){</font>    <a href="H83H_ADCSR.FIND-DEF">H83H_ADCSR</a> |= 0x40;    <b>return</b>;}<font color="#6920ac">/* * hrdi_UnregWatchdog */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_UnregWatchdog">hrdi_UnregWatchdog</a></font></b>(    <i>crtx_Void_t</i>){</font>    <font color="#6920ac">/* there is no interrupt enable/disable flag */</font>    <b>return</b>;}<font color="#6920ac">/* * hrdi_UnregRefresh */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_UnregRefresh">hrdi_UnregRefresh</a></font></b>(    <i>crtx_Void_t</i>){</font>    <a href="H83H_RTMCSR.FIND-DEF">H83H_RTMCSR</a> &amp;= ~0x40;   <font color="#6920ac">/* clear interrupt enable flag */</font>    <b>return</b>;}<font color="#6920ac">/* * hrdi_UnregITU */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_UnregITU">hrdi_UnregITU</a></font></b>(    <i>crtx_Int_t</i>  Vector_a){</font>    <b>switch</b>(Vector_a)    {    <b>case</b> <a href="H83H_VECTOR_ITU0_A.FIND-DEF">H83H_VECTOR_ITU0_A</a>:    <a href="H83H_TIER0.FIND-DEF">H83H_TIER0</a> &amp;= ~0x01; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU0_B.FIND-DEF">H83H_VECTOR_ITU0_B</a>:    <a href="H83H_TIER0.FIND-DEF">H83H_TIER0</a> &amp;= ~0x02; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU0_OVER.FIND-DEF">H83H_VECTOR_ITU0_OVER</a>: <a href="H83H_TIER0.FIND-DEF">H83H_TIER0</a> &amp;= ~0x04; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU1_A.FIND-DEF">H83H_VECTOR_ITU1_A</a>:    <a href="H83H_TIER1.FIND-DEF">H83H_TIER1</a> &amp;= ~0x01; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU1_B.FIND-DEF">H83H_VECTOR_ITU1_B</a>:    <a href="H83H_TIER1.FIND-DEF">H83H_TIER1</a> &amp;= ~0x02; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU1_OVER.FIND-DEF">H83H_VECTOR_ITU1_OVER</a>: <a href="H83H_TIER1.FIND-DEF">H83H_TIER1</a> &amp;= ~0x04; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU2_A.FIND-DEF">H83H_VECTOR_ITU2_A</a>:    <a href="H83H_TIER2.FIND-DEF">H83H_TIER2</a> &amp;= ~0x01; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU2_B.FIND-DEF">H83H_VECTOR_ITU2_B</a>:    <a href="H83H_TIER2.FIND-DEF">H83H_TIER2</a> &amp;= ~0x02; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU2_OVER.FIND-DEF">H83H_VECTOR_ITU2_OVER</a>: <a href="H83H_TIER2.FIND-DEF">H83H_TIER2</a> &amp;= ~0x04; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU3_A.FIND-DEF">H83H_VECTOR_ITU3_A</a>:    <a href="H83H_TIER3.FIND-DEF">H83H_TIER3</a> &amp;= ~0x01; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU3_B.FIND-DEF">H83H_VECTOR_ITU3_B</a>:    <a href="H83H_TIER3.FIND-DEF">H83H_TIER3</a> &amp;= ~0x02; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU3_OVER.FIND-DEF">H83H_VECTOR_ITU3_OVER</a>: <a href="H83H_TIER3.FIND-DEF">H83H_TIER3</a> &amp;= ~0x04; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU4_A.FIND-DEF">H83H_VECTOR_ITU4_A</a>:    <a href="H83H_TIER4.FIND-DEF">H83H_TIER4</a> &amp;= ~0x01; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU4_B.FIND-DEF">H83H_VECTOR_ITU4_B</a>:    <a href="H83H_TIER4.FIND-DEF">H83H_TIER4</a> &amp;= ~0x02; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU4_OVER.FIND-DEF">H83H_VECTOR_ITU4_OVER</a>: <a href="H83H_TIER4.FIND-DEF">H83H_TIER4</a> &amp;= ~0x04; <b>break</b>;    }    <b>return</b>;}<font color="#6920ac">/* * hrdi_UnregDMA */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_UnregDMA">hrdi_UnregDMA</a></font></b>(    <i>crtx_Int_t</i>  Vector_a){</font>    <b>switch</b>(Vector_a)    {    <b>case</b> <a href="H83H_VECTOR_DMAC0_0A.FIND-DEF">H83H_VECTOR_DMAC0_0A</a>:  <a href="H83H_DTCR0A.FIND-DEF">H83H_DTCR0A</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_0B.FIND-DEF">H83H_VECTOR_DMAC0_0B</a>:  <a href="H83H_DTCR0B.FIND-DEF">H83H_DTCR0B</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_1A.FIND-DEF">H83H_VECTOR_DMAC0_1A</a>:  <a href="H83H_DTCR1A.FIND-DEF">H83H_DTCR1A</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_1B.FIND-DEF">H83H_VECTOR_DMAC0_1B</a>:  <a href="H83H_DTCR1B.FIND-DEF">H83H_DTCR1B</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_5F2A.FIND-DEF">H83H_VECTOR_DMAC1_2A</a>:  <a href="H83H_DTCR2A.FIND-DEF">H83H_DTCR2A</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_2B.FIND-DEF">H83H_VECTOR_DMAC1_2B</a>:  <a href="H83H_DTCR2B.FIND-DEF">H83H_DTCR2B</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_5F3A.FIND-DEF">H83H_VECTOR_DMAC1_3A</a>:  <a href="H83H_DTCR3A.FIND-DEF">H83H_DTCR3A</a> &amp;= ~0x08; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC1_3B.FIND-DEF">H83H_VECTOR_DMAC1_3B</a>:  <a href="H83H_DTCR3B.FIND-DEF">H83H_DTCR3B</a> &amp;= ~0x08; <b>break</b>;    }    <b>return</b>;}<font color="#6920ac">/* * hrdi_UnregSCI */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_UnregSCI">hrdi_UnregSCI</a></font></b>(    <i>crtx_Int_t</i>  Vector_a){</font>    <b>switch</b>(Vector_a)    {    <b>case</b> <a href="H83H_VECTOR_SCI0_ERR.FIND-DEF">H83H_VECTOR_SCI0_ERR</a>:  <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_RX.FIND-DEF">H83H_VECTOR_SCI0_RX</a>:   <a href="H83H_SCR0.FIND-DEF">H83H_SCR0</a> &amp;= ~0x40; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_TX.FIND-DEF">H83H_VECTOR_SCI0_TX</a>:   <a href="H83H_SCR0.FIND-DEF">H83H_SCR0</a> &amp;= ~0x80; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_END.FIND-DEF">H83H_VECTOR_SCI0_END</a>:  <a href="H83H_SCR0.FIND-DEF">H83H_SCR0</a> &amp;= ~0x04; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_ERR.FIND-DEF">H83H_VECTOR_SCI1_ERR</a>:  <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_RX.FIND-DEF">H83H_VECTOR_SCI1_RX</a>:   <a href="H83H_SCR1.FIND-DEF">H83H_SCR1</a> &amp;= ~0x40; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_TX.FIND-DEF">H83H_VECTOR_SCI1_TX</a>:   <a href="H83H_SCR1.FIND-DEF">H83H_SCR1</a> &amp;= ~0x80; <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI1_END.FIND-DEF">H83H_VECTOR_SCI1_END</a>:  <a href="H83H_SCR1.FIND-DEF">H83H_SCR1</a> &amp;= ~0x04; <b>break</b>;    }    <b>return</b>;}<font color="#6920ac">/* * hrdi_UnregAD */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_UnregAD">hrdi_UnregAD</a></font></b>(    <i>crtx_Void_t</i>){</font>    <a href="H83H_ADCSR.FIND-DEF">H83H_ADCSR</a> &amp;= ~0x40;    <b>return</b>;}<font color="#6920ac">/* Do some additional CPU setup to enable specified source. * This service is called from hrdi_Install(). * * Register specified hardware interrupt source * * * WARNING: this procedure must be called with all hardware interrupts  *          disabled !!!! */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_EnableVector">hrdi_EnableVector</a></font></b>(<i>hrdi_ISRCB_t</i> *pISRCB_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <i>hrdi_Vector_t</i>   Vector;    <i>crtx_Int_t</i>      Level;<font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    <a href="CRTX_ASSERT.FIND-DEF">CRTX_ASSERT</a>(pISRCB_a)    Vector = pISRCB_a-&gt;Vector;    Level = 0;          <font color="#6920ac">/* for future extensions */</font>    <b>if</b> (Vector &lt;= <a href="H83H_VECTOR_INT7.FIND-DEF">H83H_VECTOR_INT7</a> || Vector &gt; <a href="H83H_VECTOR_AD_END.FIND-DEF">H83H_VECTOR_AD_END</a>)        <b>return</b>;    <b>switch</b>(Vector)    {    <b>case</b> <a href="H83H_VECTOR_WATCHDOG.FIND-DEF">H83H_VECTOR_WATCHDOG</a>:         <a href="#hrdi_RegWatchdog">hrdi_RegWatchdog</a>(Level);   <font color="#6920ac">/* activate watchdog timer */</font>         <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_REFRESH.FIND-DEF">H83H_VECTOR_REFRESH</a>:         <a href="#hrdi_RegRefresh">hrdi_RegRefresh</a>(Level);    <font color="#6920ac">/* activate refresh controller */</font>         <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_ITU0_A.FIND-DEF">H83H_VECTOR_ITU0_A</a>:    <b>case</b> <a href="H83H_VECTOR_ITU0_B.FIND-DEF">H83H_VECTOR_ITU0_B</a>:    <b>case</b> <a href="H83H_VECTOR_ITU0_OVER.FIND-DEF">H83H_VECTOR_ITU0_OVER</a>:    <b>case</b> <a href="H83H_VECTOR_ITU1_A.FIND-DEF">H83H_VECTOR_ITU1_A</a>:    <b>case</b> <a href="H83H_VECTOR_ITU1_B.FIND-DEF">H83H_VECTOR_ITU1_B</a>:    <b>case</b> <a href="H83H_VECTOR_ITU1_OVER.FIND-DEF">H83H_VECTOR_ITU1_OVER</a>:    <b>case</b> <a href="H83H_VECTOR_ITU2_A.FIND-DEF">H83H_VECTOR_ITU2_A</a>:    <b>case</b> <a href="H83H_VECTOR_ITU2_B.FIND-DEF">H83H_VECTOR_ITU2_B</a>:    <b>case</b> <a href="H83H_VECTOR_ITU2_OVER.FIND-DEF">H83H_VECTOR_ITU2_OVER</a>:    <b>case</b> <a href="H83H_VECTOR_ITU3_A.FIND-DEF">H83H_VECTOR_ITU3_A</a>:    <b>case</b> <a href="H83H_VECTOR_ITU3_B.FIND-DEF">H83H_VECTOR_ITU3_B</a>:    <b>case</b> <a href="H83H_VECTOR_ITU3_OVER.FIND-DEF">H83H_VECTOR_ITU3_OVER</a>:    <b>case</b> <a href="H83H_VECTOR_ITU4_A.FIND-DEF">H83H_VECTOR_ITU4_A</a>:    <b>case</b> <a href="H83H_VECTOR_ITU4_B.FIND-DEF">H83H_VECTOR_ITU4_B</a>:    <b>case</b> <a href="H83H_VECTOR_ITU4_OVER.FIND-DEF">H83H_VECTOR_ITU4_OVER</a>:         <a href="#hrdi_RegITU">hrdi_RegITU</a>(Vector, Level);    <font color="#6920ac">/* activate timer channel */</font>         <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_DMAC0_0A.FIND-DEF">H83H_VECTOR_DMAC0_0A</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC0_0B.FIND-DEF">H83H_VECTOR_DMAC0_0B</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC0_1A.FIND-DEF">H83H_VECTOR_DMAC0_1A</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC0_1B.FIND-DEF">H83H_VECTOR_DMAC0_1B</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC1_5F2A.FIND-DEF">H83H_VECTOR_DMAC1_2A</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC1_2B.FIND-DEF">H83H_VECTOR_DMAC1_2B</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC1_5F3A.FIND-DEF">H83H_VECTOR_DMAC1_3A</a>:    <b>case</b> <a href="H83H_VECTOR_DMAC1_3B.FIND-DEF">H83H_VECTOR_DMAC1_3B</a>:         <a href="#hrdi_RegDMA">hrdi_RegDMA</a>(Vector, Level);    <font color="#6920ac">/* activate DMA controller */</font>          <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_SCI0_ERR.FIND-DEF">H83H_VECTOR_SCI0_ERR</a>:    <b>case</b> <a href="H83H_VECTOR_SCI0_RX.FIND-DEF">H83H_VECTOR_SCI0_RX</a>:    <b>case</b> <a href="H83H_VECTOR_SCI0_TX.FIND-DEF">H83H_VECTOR_SCI0_TX</a>:    <b>case</b> <a href="H83H_VECTOR_SCI0_END.FIND-DEF">H83H_VECTOR_SCI0_END</a>:    <b>case</b> <a href="H83H_VECTOR_SCI1_ERR.FIND-DEF">H83H_VECTOR_SCI1_ERR</a>:    <b>case</b> <a href="H83H_VECTOR_SCI1_RX.FIND-DEF">H83H_VECTOR_SCI1_RX</a>:    <b>case</b> <a href="H83H_VECTOR_SCI1_TX.FIND-DEF">H83H_VECTOR_SCI1_TX</a>:    <b>case</b> <a href="H83H_VECTOR_SCI1_END.FIND-DEF">H83H_VECTOR_SCI1_END</a>:         <a href="#hrdi_RegSCI">hrdi_RegSCI</a>(Vector, Level);    <font color="#6920ac">/* activate serial controller */</font>         <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_AD_END.FIND-DEF">H83H_VECTOR_AD_END</a>:         <a href="#hrdi_RegAD">hrdi_RegAD</a>(Level);         <font color="#6920ac">/* activate A/D converter */</font>         <b>break</b>;    <font color="blue"><b>default</b>:</font>                        <font color="#6920ac">/* all reserved interrupt sources */</font>         <b>break</b>;    }    <b>return</b>;<font color="#6920ac">/************************ *  EXCEPTION HANDLING  * ************************/</font>    <font color="#6920ac">/* None */</font>}<font color="#6920ac">/* Do some additional CPU setup to disable specified source * This service is called from hrdi_Install(). */</font><font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_DisableVector">hrdi_DisableVector</a></font></b>(<i>hrdi_ISRCB_t</i> *pISRCB_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <i>hrdi_Vector_t</i>   Vector;<font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    <a href="CRTX_ASSERT.FIND-DEF">CRTX_ASSERT</a>(pISRCB_a)

⌨️ 快捷键说明

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