2025-09-28 09:58:38 +08:00

228 lines
17 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!-- BEGIN opengraph metadata -->
<meta property="og:title" content="Doxygen Awesome" />
<meta property="og:image" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
<meta property="og:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
<meta property="og:url" content="https://jothepro.github.io/doxygen-awesome-css/" />
<!-- END opengraph metadata -->
<!-- BEGIN twitter metadata -->
<meta name="twitter:image:src" content="https://repository-images.githubusercontent.com/348492097/4f16df80-88fb-11eb-9d31-4015ff22c452" />
<meta name="twitter:title" content="Doxygen Awesome" />
<meta name="twitter:description" content="Custom CSS theme for doxygen html-documentation with lots of customization parameters." />
<!-- END twitter metadata -->
<title>User Guide: Interrupt</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link rel="icon" type="image/svg+xml" href="logo.drawio.svg"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript" src="doxygen-awesome-fragment-copy-button.js"></script>
<script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script>
<script type="text/javascript" src="doxygen-awesome-interactive-toc.js"></script>
<script type="text/javascript" src="doxygen-awesome-tabs.js"></script>
<script type="text/javascript" src="toggle-alternative-theme.js"></script>
<script type="text/javascript">
DoxygenAwesomeFragmentCopyButton.init()
DoxygenAwesomeDarkModeToggle.init()
DoxygenAwesomeParagraphLink.init()
DoxygenAwesomeInteractiveToc.init()
DoxygenAwesomeTabs.init()
</script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="custom.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
<link href="custom-alternative.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- https://tholman.com/github-corners/
<a href="https://github.com/jothepro/doxygen-awesome-css" class="github-corner" title="View source on GitHub" target="_blank">
<svg viewBox="0 0 250 250" width="40" height="40" style="position: absolute; top: 0; border: 0; right: 0; z-index: 99;" aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
-->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="Logo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">User Guide
</div>
<div id="projectbrief">Bluetooth Low Energy 5.3</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('INTERRUPT.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div><div class="header">
<div class="headertitle"><div class="title">Interrupt </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a class="anchor" id="md_docs_doxygen_om6626_user_guides_interrupt"></a></p>
<h1><a class="anchor" id="autotoc_md67"></a>
NVIC Nested Vectored Interrupt Controller (NVIC)</h1>
<p>NVIC features:</p><ul>
<li>16 Cortex-M4 exceptions, 34 maskable interrupt channels</li>
<li>16 programmable priority levels</li>
<li>Support vector table relocation</li>
<li>Low-latency exception and interrupt handling</li>
<li>Implementation of System Control Registers</li>
</ul>
<p>The NVIC and the processor core interface are closely coupled, which enables low latency interrupt processing and efficient processing of late arriving interrupts. All interrupts including the core exceptions are managed by the NVIC.</p>
<h1><a class="anchor" id="autotoc_md68"></a>
Interrupt Vector Table</h1>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Exception Number </th><th class="markdownTableHeadNone">NVIC Number </th><th class="markdownTableHeadNone">Exception Type </th><th class="markdownTableHeadNone">Description </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">1 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Reset </td><td class="markdownTableBodyNone">Reset </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">2 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">NMI </td><td class="markdownTableBodyNone">Nonmaskable interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">3 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Hard Fault </td><td class="markdownTableBodyNone">All fault conditions if the corresponding fault handler is not enabled </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">4 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Mem Fault </td><td class="markdownTableBodyNone">Memory management fault; Memory Protection Unit (MPU) violation or access to illegal locations </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">5 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Bus Fault </td><td class="markdownTableBodyNone">Bus error </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">6 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Usage Fault </td><td class="markdownTableBodyNone">Exceptions resulting from program error </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">7 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Soft Fault </td><td class="markdownTableBodyNone">Software error </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">11 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">SVC </td><td class="markdownTableBodyNone">Supervisor Call </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">12 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">Debug Monitor </td><td class="markdownTableBodyNone">Debug monitor (breakpoints, watch points, or external debug requests) </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">14 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">PendSV </td><td class="markdownTableBodyNone">Pendable Service Call </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">15 </td><td class="markdownTableBodyNone">X </td><td class="markdownTableBodyNone">SYSTICK </td><td class="markdownTableBodyNone">System Tick Timer </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">16 </td><td class="markdownTableBodyNone">0 </td><td class="markdownTableBodyNone">BT BB COMBO </td><td class="markdownTableBodyNone">BLE event </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">17 </td><td class="markdownTableBodyNone">1 </td><td class="markdownTableBodyNone">BB_NATIVE_INT </td><td class="markdownTableBodyNone">Baseband sleep wake </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">18 </td><td class="markdownTableBodyNone">2 </td><td class="markdownTableBodyNone">DMA COMBO </td><td class="markdownTableBodyNone">DMA interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">19 </td><td class="markdownTableBodyNone">3 </td><td class="markdownTableBodyNone">PIN_WAKEUP_INT </td><td class="markdownTableBodyNone">GPIO wakeup interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">20 </td><td class="markdownTableBodyNone">4 </td><td class="markdownTableBodyNone">TIMER COMBO </td><td class="markdownTableBodyNone">Timer interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">21 </td><td class="markdownTableBodyNone">5 </td><td class="markdownTableBodyNone">2P4G_RF_IRQ </td><td class="markdownTableBodyNone">Proprietary 2.4G protocol interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">22 </td><td class="markdownTableBodyNone">6 </td><td class="markdownTableBodyNone">PMU_POF_INT </td><td class="markdownTableBodyNone">Flash low voltage interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">23 </td><td class="markdownTableBodyNone">7 </td><td class="markdownTableBodyNone">PMU_TIMER </td><td class="markdownTableBodyNone">System timer </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">24 </td><td class="markdownTableBodyNone">8 </td><td class="markdownTableBodyNone">WDT_INT </td><td class="markdownTableBodyNone">Watch dog interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">25 </td><td class="markdownTableBodyNone">9 </td><td class="markdownTableBodyNone">UART1 COMBO </td><td class="markdownTableBodyNone">UART1 global interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">26 </td><td class="markdownTableBodyNone">10 </td><td class="markdownTableBodyNone">EFUSE_INT </td><td class="markdownTableBodyNone">EFUSE interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">27 </td><td class="markdownTableBodyNone">11 </td><td class="markdownTableBodyNone">GPIO COMBO </td><td class="markdownTableBodyNone">GPIO interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">28 </td><td class="markdownTableBodyNone">12 </td><td class="markdownTableBodyNone">ADC </td><td class="markdownTableBodyNone">GPADC interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">29 </td><td class="markdownTableBodyNone">13 </td><td class="markdownTableBodyNone">I2C_INT </td><td class="markdownTableBodyNone">I2C interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">30 </td><td class="markdownTableBodyNone">14 </td><td class="markdownTableBodyNone">SFLASH INT </td><td class="markdownTableBodyNone">SFLASH control interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">31~38 </td><td class="markdownTableBodyNone">15~22 </td><td class="markdownTableBodyNone">SOFT_INT </td><td class="markdownTableBodyNone">Soft interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">40 </td><td class="markdownTableBodyNone">24 </td><td class="markdownTableBodyNone">CRY32M_DIG_READY </td><td class="markdownTableBodyNone">32M crystal oscillator can give digital flag </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">41 </td><td class="markdownTableBodyNone">25 </td><td class="markdownTableBodyNone">UART0 INT </td><td class="markdownTableBodyNone">UART0 interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">42 </td><td class="markdownTableBodyNone">26 </td><td class="markdownTableBodyNone">SPI0_INT </td><td class="markdownTableBodyNone">SPI0 interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">43~46 </td><td class="markdownTableBodyNone">28~30 </td><td class="markdownTableBodyNone">TIMER </td><td class="markdownTableBodyNone">Timers global interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">47 </td><td class="markdownTableBodyNone">31 </td><td class="markdownTableBodyNone">SPI1 INT </td><td class="markdownTableBodyNone">SPI1 interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">48 </td><td class="markdownTableBodyNone">32 </td><td class="markdownTableBodyNone">RTC_1HZ_INT </td><td class="markdownTableBodyNone">RTC 1HZ interrupt </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">49 </td><td class="markdownTableBodyNone">33 </td><td class="markdownTableBodyNone">RTC_AF_INT </td><td class="markdownTableBodyNone">RTC alarm interrupt </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">50 </td><td class="markdownTableBodyNone">34 </td><td class="markdownTableBodyNone">LP_TIMER_INT </td><td class="markdownTableBodyNone">LP timer interrupt </td></tr>
</table>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
</body>
</html>