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

📄 int7.htm

📁 ST20 Embedded Toolset R2.0.5用于开发基于ST20芯片机顶盒软件的开发平台,2.0.5版本,国内找不到的.在国外论坛上花了N天才找到!
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="GENERATOR" content="Quadralay WebWorks Publisher Professional Edition 6.0.5">
<meta name="TEMPLATEBASE" content="book_html">
<meta name="LASTUPDATED" content="12/01/03 14:15:18">
<title>10.6 Enabling and disabling interrupts</title>

<STYLE TYPE="text/css">
<!--
	span.Signal { text-transform: uppercase; font-family: Verdana }
-->
</STYLE>

</head>

<body link="#3366CC" vlink="#9999CC" text="#000000" alink="#0000CC" bgcolor="#FFFFFF"
background="images/backgrnd.gif">

<p><img src="images/stlogo.gif" width="106" height="83" align="left"
alt="logo here!"> </p>

<table width="331" border="0" align="right" cellpadding="0" cellspacing="0">
  <tr>
    <td><a href="os20toc.htm"><img src="images/navtoc.gif" width="84" height="23"
    border="0" alt="TOC"> </a></td>
    <td><a href="int6.htm"><img src="images/navprev.gif" width="80" height="23"
    border="0" alt="PREV"> </a></td>
    <td><a href="int8.htm"><img src="images/navnext.gif" width="83" height="23"
    border="0" alt="NEXT"> </a></td>
    <td><a href="os20ix.htm"><img src="images/navidx.gif" width="84" height="23"
    border="0" alt="INDEX"> </a></td>
  </tr>
</table>

<p><br clear="all">
</p>

<hr align="left">

<blockquote>
<h2>
  <a name="1204929"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">10.6 	 Enabling and disabling interrupts</font>
</h2><hr>


<p>
  <a name="1204930"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The following two functions can be used to set or clear the global enables bit <span class=Signal>INTERRUPT_GLOBAL_ENABLE</span> in the interrupt controller's <span class=Signal>Set_Mask</span> register:</font>
</p>


<a name="1204935"> </a><font size=2 face=Courier><strong>#include &lt;interrup.h&gt;<br>void interrupt_enable_global();<br>void interrupt_disable_global();<br></strong></font>



<p>
  <a name="1204940"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">When the global enables bit is set then any enabled interrupt can be asserted. When the global enables bit is not set then no interrupts can be asserted, regardless of whether they are individually enabled. These two functions apply to all interrupt controllers.</font>
</p>


<h3>
  <a name="1204941"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">10.6.1 	 Enabling and disabling interrupts without an ILC or with ILC-1</font>
</h3>


<p>
  <a name="1204942"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The following two functions take an interrupt level and set or clear the corresponding bit in the interrupt controller <span class=Signal>Set_Mask</span> register:</font>
</p>


<a name="1204947"> </a><font size=2 face=Courier><strong>#include &lt;interrup.h&gt;<br>int interrupt_enable (int <font size=2 face=Courier><strong><em>Level</em></strong></font>);<br>int interrupt_disable (int <font size=2 face=Courier><strong><em>Level</em></strong></font>);<br></strong></font>



<p>
  <a name="1204949"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">This can be used to enable or disable the associated interrupt level.</font>
</p>


<p>
  <a name="1204950"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Although the global enables bit can be set or cleared by these functions (as <span class=Signal>INTERRUPT_GLOBAL_ENABLE</span><font size=2 face=Courier><strong>)</strong></font> this use is no longer recommended. These functions return <font size=2 face=Courier><strong>1</strong></font> if an illegal interrupt level is passed in.</font>
</p>


<p>
  <a name="1204951"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Although both functions work on all existing ST20 processors they are not guaranteed to work for future processors with ILC-2 or ILC-3 interrupt level controllers. Thus their use is only recommended for use on chips with no interrupt level controller or with ILC1.</font>
</p>


<p>
  <a name="1204952"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The following two functions are similar to those above, but take a mask which contains bits to be set or cleared in the interrupt controller <span class=Signal>Set_Mask</span> register depending on the operation being performed.</font>
</p>


<a name="1204957"> </a><font size=2 face=Courier><strong>#include &lt;interrup.h&gt;<br>void interrupt_enable_mask (int <font size=2 face=Courier><strong><em>Mask</em></strong></font>);<br>void interrupt_disable_mask (int <font size=2 face=Courier><strong><em>Mask</em></strong></font>);<br></strong></font>



<p>
  <a name="1204959"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">Like the previous functions the global enables bit can be set or cleared using the mask functions (as <font size=2 face=Courier><strong>1 &lt;&lt; </strong></font><span class=Signal>INTERRUPT_GLOBAL_ENABLE</span><font size=2 face=Courier><strong>)</strong></font> and again it is no longer recommended. Similarly these functions are only recommended for use on chips with no interrupt level controller or with ILC-1.</font>
</p>


<h3>
  <a name="1204960"> </a><font color="#003366"  face="Verdana, Arial, Helvetica, sans-serif">10.6.2 	 Enabling and disabling interrupts with ILC-2 or ILC-3</font>
</h3>


<p>
  <a name="1204961"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">The following two functions apply only to ILC-2 or ILC-3 interrupt level controllers and are used to enable and disable interrupt numbers.</font>
</p>


<a name="1204966"> </a><font size=2 face=Courier><strong>#include &lt;interrup.h&gt;<br>int interrupt_enable_number (int <font size=2 face=Courier><strong><em>Number</em></strong></font>);<br>int interrupt_disable_number (int <font size=2 face=Courier><strong><em>Number</em></strong></font>);<br></strong></font>



<p>
  <a name="1204971"> </a><font size=2  face="Verdana, Arial, Helvetica, sans-serif">These functions allow specific interrupt numbers to be enabled and disabled independently by writing to the interrupt level controllers <span class=Signal>Enable</span> registers.</font>
</p>
</blockquote>

<hr>



<table width="331" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td><a href="os20toc.htm"><img src="images/navtoc.gif" width="84" height="23"
    border="0" alt="TOC"> </a></td>
    <td><a href="int6.htm"><img src="images/navprev.gif" width="80" height="23"
    border="0" alt="PREV"> </a></td>
    <td><a href="int8.htm"><img src="images/navnext.gif" width="83" height="23"
    border="0" alt="NEXT"> </a></td>
    <td><a href="os20ix.htm"><img src="images/navidx.gif" width="84" height="23"
    border="0" alt="INDEX"> </a></td>
  </tr>
</table>
<font size=1 face="Verdana, Arial, Helvetica, sans-serif">&nbsp; &copy; 2001, 2002, 2003 STMicroelectronics. All Rights Reserved.<br>
&nbsp; ADCS 7473749B</font>
</body>
</html>

⌨️ 快捷键说明

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