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

📄 h8300h.c

📁 澳洲人写的Cortex,包括uC_IP协议栈
💻 C
📖 第 1 页 / 共 5 页
字号:
    Vector = pISRCB_a-&gt;Vector;    <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_UnregWatchdog">hrdi_UnregWatchdog</a>();      <font color="#6920ac">/* watchdog timer */</font>         <b>break</b>;    <b>case</b> <a href="H83H_VECTOR_REFRESH.FIND-DEF">H83H_VECTOR_REFRESH</a>:         <a href="#hrdi_UnregRefresh">hrdi_UnregRefresh</a>();       <font color="#6920ac">/* 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_UnregITU">hrdi_UnregITU</a>(Vector);     <font color="#6920ac">/* 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_UnregDMA">hrdi_UnregDMA</a>(Vector);     <font color="#6920ac">/* 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_UnregSCI">hrdi_UnregSCI</a>(Vector);     <font color="#6920ac">/* 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_UnregAD">hrdi_UnregAD</a>();            <font color="#6920ac">/* 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">/* * hrdi_Mask * *      --------------------------------------------- *      GI_enabMask     | Hardware Interrupt Sources *      bits            | *      ----------------+---------------------------- *      0  -  7         | IRQn, where n=0-7 *      8               | WOVI (watchdog timer) *      9               | CMI (refresh controller) *      ----------------+---------------------------- *      10 - 13         | DMAC group 0 *      14 - 17         | DMAC group 1 *      18 - 21         | SCI Channel 0 *      22 - 25         | SCI Channel 1 *      26              | A/D *      ----------------+---------------------------- *      27              | ITU channel 0 *      28              | ITU channel 1 *      29              | ITU channel 2 *      30              | ITU channel 3 *      31              | ITU channel 4 *      ------------------------------------------- */</font><i>static</i> <i>hrdi_Mask_t</i> hrdi_MaskITU_g[22]= {        0x00000000l,        <font color="#6920ac">/* Reserved 22  */</font>        0x00000000l,        <font color="#6920ac">/* Reserved 23  */</font>        0x08000000l,        <font color="#6920ac">/* IMIA0        */</font>        0x08000000l,        <font color="#6920ac">/* IMIB0        */</font>        0x08000000l,        <font color="#6920ac">/* OVI0         */</font>        0x00000000l,        <font color="#6920ac">/* Reserved 27  */</font>        0x10000000l,        <font color="#6920ac">/* IMIA1        */</font>        0x10000000l,        <font color="#6920ac">/* IMIB1        */</font>        0x10000000l,        <font color="#6920ac">/* OVI1         */</font>        0x00000000l,        <font color="#6920ac">/* Reserved 31  */</font>        0x20000000l,        <font color="#6920ac">/* IMIA2        */</font>        0x20000000l,        <font color="#6920ac">/* IMIB2        */</font>        0x20000000l,        <font color="#6920ac">/* OVI2         */</font>        0x00000000l,        <font color="#6920ac">/* Reserved 35  */</font>        0x40000000l,        <font color="#6920ac">/* IMIA3        */</font>        0x40000000l,        <font color="#6920ac">/* IMIB3        */</font>        0x40000000l,        <font color="#6920ac">/* OVI3         */</font>        0x00000000l,        <font color="#6920ac">/* Reserved 39  */</font>        0x80000000l,        <font color="#6920ac">/* IMIA4        */</font>        0x80000000l,        <font color="#6920ac">/* IMIB4        */</font>        0x80000000l,        <font color="#6920ac">/* OVI4         */</font>        0x00000000l         <font color="#6920ac">/* Reserved 43  */</font>};<font size="+1"><i>hrdi_Mask_t</i> <b><font color="azure1"><a name="hrdi_Mask">hrdi_Mask</a></font></b>(<i>hrdi_Vector_t</i> Vector_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <font color="#6920ac">/* None */</font><font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    <b>if</b> (Vector_a &lt; <a href="H83H_VECTOR_INT0.FIND-DEF">H83H_VECTOR_INT0</a> || Vector_a &gt; <a href="H83H_VECTOR_AD_END.FIND-DEF">H83H_VECTOR_AD_END</a>)        <font color="#6920ac">/* vector number is out of range */</font>        <b>return</b> 0ul;    <b>if</b> (Vector_a &lt;= <a href="H83H_VECTOR_REFRESH.FIND-DEF">H83H_VECTOR_REFRESH</a>)        <b>return</b> 0x1ul&lt;&lt;(Vector_a - <a href="H83H_VECTOR_INT0.FIND-DEF">H83H_VECTOR_INT0</a>);    <b>if</b> (Vector_a &gt;= <a href="H83H_VECTOR_DMAC0_0A.FIND-DEF">H83H_VECTOR_DMAC0_0A</a>)        <b>return</b> 0x1ul&lt;&lt;((Vector_a - <a href="H83H_VECTOR_DMAC0_0A.FIND-DEF">H83H_VECTOR_DMAC0_0A</a>) + 10);    <b>return</b> hrdi_MaskITU_g[Vector_a-<a href="H83H_VECTOR_RESERVED_22.FIND-DEF">H83H_VECTOR_RESERVED_22</a>];<font color="#6920ac">/************************ *  EXCEPTION HANDLING  * ************************/</font>    <font color="#6920ac">/* None */</font>}<font size="+1"><i>hrdi_Mask_t</i> <b><font color="azure1"><a name="hrdi_Disable">hrdi_Disable</a></font></b>(<i>hrdi_Mask_t</i> Mask_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <a href="CRTX_REG_1.FIND-DEF">CRTX_REG_1</a> <i>hrdi_GlobalIntrCookie_t</i>  Cookie;<font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    Cookie = <a href="hrdi_GlobalIntrDisable.FIND-FUNC">hrdi_GlobalIntrDisable</a>();    Mask_a &amp;= hrdi_Environ_g.Defined;   <font color="#6920ac">/* mask out not registerd vectors */</font>    Mask_a &amp;= hrdi_Environ_g.Enabled;   <font color="#6920ac">/* mask out disabled vectors */</font>    hrdi_Environ_g.Enabled &amp;= ~Mask_a;  <font color="#6920ac">/* disable interrupts */</font>    <a href="H83H_IER.FIND-DEF">H83H_IER</a> &amp;= ~(<i>crtx_Byte_t</i>)(Mask_a &amp; 0xFF);    <b>if</b> ((Mask_a &amp; 0xFFFFFF00) != 0ul)    {        <font color="#6920ac">/* global interrupts shall be disabled */</font>        Cookie |= 0xC0;    }    <a href="hrdi_GlobalIntrEnable.FIND-FUNC">hrdi_GlobalIntrEnable</a>(Cookie);    <b>return</b> Mask_a;<font color="#6920ac">/************************ *  EXCEPTION HANDLING  * ************************/</font>    <font color="#6920ac">/* None */</font>}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_Enable">hrdi_Enable</a></font></b>(<i>hrdi_Mask_t</i> Mask_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <a href="CRTX_REG_1.FIND-DEF">CRTX_REG_1</a> <i>hrdi_GlobalIntrCookie_t</i>  Cookie;<font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    Cookie = <a href="hrdi_GlobalIntrDisable.FIND-FUNC">hrdi_GlobalIntrDisable</a>();    Mask_a &amp;= hrdi_Environ_g.Defined;   <font color="#6920ac">/* mask out not registerd vectors */</font>    hrdi_Environ_g.Enabled |= Mask_a;   <font color="#6920ac">/* enable interrupts */</font>    <a href="H83H_IER.FIND-DEF">H83H_IER</a> |= (<i>crtx_Byte_t</i>)(Mask_a &amp; 0xFF);    <b>if</b> (((hrdi_Environ_g.Enabled ^ hrdi_Environ_g.Defined) &amp; 0xFFFFFF00) == 0)    {        <b>if</b> (hrdi_Environ_g.GlobalCounter == 0)        {            <font color="#6920ac">/* we are going to enable global interrupts */</font>            Cookie &amp;= 0x3F;        }    }    <a href="hrdi_GlobalIntrEnable.FIND-FUNC">hrdi_GlobalIntrEnable</a>(Cookie);    <b>return</b>;<font color="#6920ac">/************************ *  EXCEPTION HANDLING  * ************************/</font>    <font color="#6920ac">/* None */</font>}<font size="+1"><i>crtx_Mask_t</i> <b><font color="azure1"><a name="hrdi_SetLisrIntrMask">hrdi_SetLisrIntrMask</a></font></b>(<i>crtx_Mask_t</i> Mask_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <font color="#6920ac">/* None */</font><font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    <font color="#6920ac">/*      * assume global interrupts are disabled on entry and may be re-enabled      * on return      */</font>    Mask_a &amp;= hrdi_Environ_g.Defined;   <font color="#6920ac">/* mask out not registerd vectors */</font>    Mask_a &amp;= hrdi_Environ_g.Enabled;   <font color="#6920ac">/* mask out disabled vectors */</font>    hrdi_Environ_g.Enabled &amp;= ~Mask_a;  <font color="#6920ac">/* disable interrupts */</font>    <a href="H83H_IER.FIND-DEF">H83H_IER</a> &amp;= ~(<i>crtx_Byte_t</i>)(Mask_a &amp; 0xFF);    <b>if</b> ((Mask_a &amp; 0xFFFFFF00) == 0ul)    {        <font color="#6920ac">/* global interrupts shall be enabled */</font>        <a href="hrdi_GlobalIntrEnable.FIND-FUNC">hrdi_GlobalIntrEnable</a>(0x0);    }    <b>return</b> Mask_a;<font color="#6920ac">/************************ *  EXCEPTION HANDLING  * ************************/</font>    <font color="#6920ac">/* None */</font>}<font size="+1"><i>crtx_Void_t</i> <b><font color="azure1"><a name="hrdi_RestoreLisrIntrMask">hrdi_RestoreLisrIntrMask</a></font></b>(<i>crtx_Mask_t</i> Mask_a){</font><font color="#6920ac">/********************* *  LOCAL VARIABLES  * *********************/</font>    <a href="CRTX_REG_1.FIND-DEF">CRTX_REG_1</a> <i>hrdi_GlobalIntrCookie_t</i>  Cookie;<font color="#6920ac">/********************* *  PROCEDURE LOGIC  * *********************/</font>    Cookie = <a href="hrdi_GlobalIntrDisable.FIND-FUNC">hrdi_GlobalIntrDisable</a>();

⌨️ 快捷键说明

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