📄 h8300h.c
字号:
<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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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> &= ~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_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> &= ~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_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> &= ~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->Vector; Level = 0; <font color="#6920ac">/* for future extensions */</font> <b>if</b> (Vector <= <a href="H83H_VECTOR_INT7.FIND-DEF">H83H_VECTOR_INT7</a> || Vector > <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 + -