

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    

    
    <title>UART &mdash; Apache Mynewt latest documentation</title>
    

    
    
      <link rel="shortcut icon" href="../../../../_static/mynewt-logo-only-newt32x32.png"/>
    

    

    <link rel="stylesheet" href="../../../../_static/css/theme.css" type="text/css" />

    
      <link rel="stylesheet" href="../../../../_static/css/sphinx_theme.css" type="text/css" />
    
      <link rel="stylesheet" href="../../../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
    
      <link rel="stylesheet" href="../../../../_static/css/v2.css" type="text/css" />
    
      <link rel="stylesheet" href="../../../../_static/css/custom.css" type="text/css" />
    
      <link rel="stylesheet" href="../../../../_static/css/restructuredtext.css" type="text/css" />
    

    

    <link rel="stylesheet" href="../../../../_static/css/overrides.css" type="text/css" />
          <link rel="index" title="Index"
                href="../../../../genindex.html"/>
          <link rel="search" title="Search" href="../../../../search.html"/>
      <link rel="top" title="Apache Mynewt latest documentation" href="../../../../index.html"/>
          <link rel="up" title="Hardware Abstraction Layer" href="../hal.html"/>
          <link rel="next" title="SPI" href="../hal_spi/hal_spi.html"/>
          <link rel="prev" title="GPIO" href="../hal_gpio/hal_gpio.html"/> 

    
    <script src="../../../../_static/js/modernizr.min.js"></script>

    
    <script>
    (function(i, s, o, g, r, a, m) {
	i["GoogleAnalyticsObject"] = r;
	(i[r] =
		i[r] ||
		function() {
			(i[r].q = i[r].q || []).push(arguments);
		}),
		(i[r].l = 1 * new Date());
	(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
	a.async = 1;
	a.src = g;
	m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
    

  </head>

  <body class="not-front page-documentation" role="document" >
    <div id="wrapper">
      <div class="container">
    <div id="banner" class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="../../../../_static/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
              <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.5.0 </a> released (Nov 5, 2018)
            </div>
        </div>
    </div>
</div>
      
<header>
    <nav id="navbar" class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <!-- Collapsed navigation -->
            <div class="navbar-header">
                <!-- Expander button -->
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

            <!-- Expanded navigation -->
            <div class="navbar-collapse collapse">
                <!-- Main navigation -->
                <ul class="nav navbar-nav navbar-right">
                    <li>
                        <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                    </li>
                    <li class="important">
                        <a href="/quick-start/">Quick Start</a>
                    </li>
                    <li>
                        <a href="/about/">About</a>
                    </li>
                    <li>
                        <a href="/talks/">Talks</a>
                    </li>
                    <li class="active">
                        <a href="/documentation/">Documentation</a>
                    </li>
                    <li>
                        <a href="/download/">Download</a>
                    </li>
                    <li>
                        <a href="/community/">Community</a>
                    </li>
                    <li>
                        <a href="/events/">Events</a>
                    </li>
                </ul>

                <!-- Search, Navigation and Repo links -->
                <ul class="nav navbar-nav navbar-right">
                    
                </ul>
            </div>
        </div>
    </nav>
</header>
      <!-- STARTS MAIN CONTENT -->
      <div id="main-content">
        





<div id="breadcrumb">
  <div class="container">
    <a href="/documentation/">Docs</a> /
    
      <a href="../../../os_user_guide.html">OS User Guide</a> /
    
      <a href="../hal.html">Hardware Abstraction Layer</a> /
    
    UART
    
  <div class="sourcelink">
    <a href="https://github.com/apache/mynewt-core/edit/master/docs/os/modules/hal/hal_uart/hal_uart.rst" class="icon icon-github"
           rel="nofollow"> Edit on GitHub</a>
</div>
  </div>
</div>
        <!-- STARTS CONTAINER -->
        <div class="container">
          <!-- STARTS .content -->
          <div id="content" class="row">
            
            <!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
  <div id="docSidebar" class="sticky-container">
    <div role="search" class="sphinx-search">
  <form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
    <input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
    <!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest" selected>
    Version: latest
  </option>
  <option value="/v1_4_0">
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction">
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction">
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction">
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction">
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction">
    Version: 0_9_0
  </option>
</select>
    <div class="region region-sidebar">
      <div class="docs-menu">
      
        
        
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../os_user_guide.html">OS User Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../core_os/mynewt_os.html">Kernel</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../system_modules.html">System</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../hal.html">Hardware Abstraction</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../hal_timer/hal_timer.html">Timer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hal_gpio/hal_gpio.html">GPIO</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">UART</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hal_spi/hal_spi.html">SPI</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hal_i2c/hal_i2c.html">I2C</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hal_flash/hal_flash.html">Flash</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hal_watchdog/hal_watchdog.html">Watchdog</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hal_bsp/hal_bsp.html">BSP</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../bootloader/bootloader.html">Secure Bootloader</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../split/split.html">Split Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../core_os/porting/port_os.html">Porting Guide</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../baselibc.html">Baselibc</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../drivers/driver.html">Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../devmgmt/newtmgr.html">Device Management with Newt Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../mcumgr/mcumgr.html">Device Management with MCUmgr</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../imgmgr/imgmgr.html">Image Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../sysinitconfig/sysinitconfig.html">Compile-Time Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../fs/fs.html">File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../fcb/fcb.html">Flash Circular Buffer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../sensor_framework/sensor_framework.html">Sensor Framework</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../testutil/testutil.html">Test Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../json/json.html">JSON</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../mfg/mfg.html">Manufacturing support</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../network/docs/index.html">BLE User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../newt/index.html">Newt Tool Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../misc/index.html">Appendix</a></li>
</ul>

        
      
      </div>
    </div>
  </div>
  <!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->

            <div class="col-xs-12 col-sm-9">
              
              <div class="">
                <div class="rst-content">
                  <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
                   <div itemprop="articleBody">
                    
  <div class="section" id="uart">
<h1>UART<a class="headerlink" href="#uart" title="Permalink to this headline">¶</a></h1>
<p>The hardware independent UART interface for Mynewt.</p>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
<p>Contains the basic operations to send and receive data over a UART
(Universal Asynchronous Receiver Transmitter). It also includes the API
to apply settings such as speed, parity etc. to the UART. The UART port
should be closed before any reconfiguring.</p>
</div>
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
<p>This example shows a user writing a character to the uart in blocking
mode where the UART has to block until character has been sent.</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">/* write to the console with blocking */</span>
<span class="go">{</span>
<span class="go">    char *str = &quot;Hello World!&quot;;</span>
<span class="go">    char *ptr = str;</span>

<span class="go">    while(*ptr) {</span>
<span class="go">        hal_uart_blocking_tx(MY_UART, *ptr++);</span>
<span class="go">    }</span>
<span class="go">    hal_uart_blocking_tx(MY_UART, &#39;\n&#39;);</span>
<span class="go">}</span>
</pre></div>
</div>
</div>
<div class="section" id="api">
<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">¶</a></h2>
<dl class="enum">
<dt id="c.HALUart::hal_uart_parity">
<span class="target" id="group___h_a_l_uart_1ga54a2cb674e61c87d0659a9ee68b79046"></span><em class="property">enum </em><code class="descclassname">HALUart::</code><code class="descname">hal_uart_parity</code><a class="headerlink" href="#c.HALUart::hal_uart_parity" title="Permalink to this definition">¶</a></dt>
<dd><p><em>Values:</em></p>
<dl class="enumvalue">
<dt id="c.HALUart::HAL_UART_PARITY_NONE">
<span class="target" id="group___h_a_l_uart_1gga54a2cb674e61c87d0659a9ee68b79046a04bc6026ce33740e3290bf2489a1ab66"></span><code class="descname">HAL_UART_PARITY_NONE</code> = 0<a class="headerlink" href="#c.HALUart::HAL_UART_PARITY_NONE" title="Permalink to this definition">¶</a></dt>
<dd><p>No Parity. </p>
</dd></dl>

<dl class="enumvalue">
<dt id="c.HALUart::HAL_UART_PARITY_ODD">
<span class="target" id="group___h_a_l_uart_1gga54a2cb674e61c87d0659a9ee68b79046a1ad3c3f7814a00e6b5bf06dbd5c03923"></span><code class="descname">HAL_UART_PARITY_ODD</code> = 1<a class="headerlink" href="#c.HALUart::HAL_UART_PARITY_ODD" title="Permalink to this definition">¶</a></dt>
<dd><p>Odd parity. </p>
</dd></dl>

<dl class="enumvalue">
<dt id="c.HALUart::HAL_UART_PARITY_EVEN">
<span class="target" id="group___h_a_l_uart_1gga54a2cb674e61c87d0659a9ee68b79046afe68bdf645970e0e83dca876087fa973"></span><code class="descname">HAL_UART_PARITY_EVEN</code> = 2<a class="headerlink" href="#c.HALUart::HAL_UART_PARITY_EVEN" title="Permalink to this definition">¶</a></dt>
<dd><p>Even parity. </p>
</dd></dl>

</dd></dl>

<dl class="enum">
<dt id="c.HALUart::hal_uart_flow_ctl">
<span class="target" id="group___h_a_l_uart_1ga5aa2065acd6fab6c562b3e7f11799dd3"></span><em class="property">enum </em><code class="descclassname">HALUart::</code><code class="descname">hal_uart_flow_ctl</code><a class="headerlink" href="#c.HALUart::hal_uart_flow_ctl" title="Permalink to this definition">¶</a></dt>
<dd><p><em>Values:</em></p>
<dl class="enumvalue">
<dt id="c.HALUart::HAL_UART_FLOW_CTL_NONE">
<span class="target" id="group___h_a_l_uart_1gga5aa2065acd6fab6c562b3e7f11799dd3a602a86e509c8edc7a400d47a7f19046f"></span><code class="descname">HAL_UART_FLOW_CTL_NONE</code> = 0<a class="headerlink" href="#c.HALUart::HAL_UART_FLOW_CTL_NONE" title="Permalink to this definition">¶</a></dt>
<dd><p>No Flow Control. </p>
</dd></dl>

<dl class="enumvalue">
<dt id="c.HALUart::HAL_UART_FLOW_CTL_RTS_CTS">
<span class="target" id="group___h_a_l_uart_1gga5aa2065acd6fab6c562b3e7f11799dd3aefef8f1847e02b9b414f26061bb29443"></span><code class="descname">HAL_UART_FLOW_CTL_RTS_CTS</code> = 1<a class="headerlink" href="#c.HALUart::HAL_UART_FLOW_CTL_RTS_CTS" title="Permalink to this definition">¶</a></dt>
<dd><p>RTS/CTS. </p>
</dd></dl>

</dd></dl>

<dl class="typedef">
<dt id="c.hal_uart_tx_char">
<span class="target" id="group___h_a_l_uart_1ga048e6274132ffda2c1ba3fa97a967550"></span><em class="property">typedef </em>int<code class="descname">(* hal_uart_tx_char)</code><span class="sig-paren">(</span>void<em>&nbsp;*arg</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_tx_char" title="Permalink to this definition">¶</a></dt>
<dd><p>Function prototype for UART driver to ask for more data to send. </p>
<p>Returns -1 if no more data is available for TX. Driver must call this with interrupts disabled. </p>
</dd></dl>

<dl class="typedef">
<dt id="c.hal_uart_tx_done">
<span class="target" id="group___h_a_l_uart_1ga465fd0514a4a013c4719edbecf7fad79"></span><em class="property">typedef </em>void<code class="descname">(* hal_uart_tx_done)</code><span class="sig-paren">(</span>void<em>&nbsp;*arg</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_tx_done" title="Permalink to this definition">¶</a></dt>
<dd><p>Function prototype for UART driver to report that transmission is complete. </p>
<p>This should be called when transmission of last byte is finished. Driver must call this with interrupts disabled. </p>
</dd></dl>

<dl class="typedef">
<dt id="c.hal_uart_rx_char">
<span class="target" id="group___h_a_l_uart_1ga584da9fb7bd0c337f05b45ec958cf3e9"></span><em class="property">typedef </em>int<code class="descname">(* hal_uart_rx_char)</code><span class="sig-paren">(</span>void<em>&nbsp;*arg</em>, uint8_t<em>&nbsp;byte</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_rx_char" title="Permalink to this definition">¶</a></dt>
<dd><p>Function prototype for UART driver to report incoming byte of data. </p>
<p>Returns -1 if data was dropped. Driver must call this with interrupts disabled. </p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_init_cbs">
<span class="target" id="group___h_a_l_uart_1gaed951e1b190b127ea41f7a0081c2fc91"></span>int <code class="descname">hal_uart_init_cbs</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em>, <a class="reference internal" href="#c.hal_uart_tx_char" title="hal_uart_tx_char">hal_uart_tx_char</a><em>&nbsp;tx_func</em>, <a class="reference internal" href="#c.hal_uart_tx_done" title="hal_uart_tx_done">hal_uart_tx_done</a><em>&nbsp;tx_done</em>, <a class="reference internal" href="#c.hal_uart_rx_char" title="hal_uart_rx_char">hal_uart_rx_char</a><em>&nbsp;rx_func</em>, void *<em>&nbsp;arg</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_init_cbs" title="Permalink to this definition">¶</a></dt>
<dd><p>Initializes given uart. </p>
<p>Mapping of logical UART number to physical UART/GPIO pins is in BSP. </p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_init">
<span class="target" id="group___h_a_l_uart_1ga1c1c1fe6f1a391601028864ecbf82dad"></span>int <code class="descname">hal_uart_init</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em>, void *<em>&nbsp;cfg</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_init" title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize the HAL uart. </p>
<p><dl class="docutils">
<dt><strong>Return</strong></dt>
<dd>0 on success, non-zero error code on failure </dd>
<dt><strong>Parameters</strong></dt>
<dd><ul class="breatheparameterlist first last simple">
<li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The uart number to configure </li>
<li><code class="docutils literal notranslate"><span class="pre">cfg</span></code>: Hardware specific uart configuration. This is passed from BSP directly to the MCU specific driver.</li>
</ul>
</dd>
</dl>
</p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_config">
<span class="target" id="group___h_a_l_uart_1ga26356de3e25529e34b2f13a400476839"></span>int <code class="descname">hal_uart_config</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em>, int32_t<em>&nbsp;speed</em>, uint8_t<em>&nbsp;databits</em>, uint8_t<em>&nbsp;stopbits</em>, enum  hal_uart_parity<em>&nbsp;parity</em>, enum  hal_uart_flow_ctl<em>&nbsp;flow_ctl</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_config" title="Permalink to this definition">¶</a></dt>
<dd><p>Applies given configuration to UART. </p>
<p><dl class="docutils">
<dt><strong>Return</strong></dt>
<dd>0 on success, non-zero error code on failure </dd>
<dt><strong>Parameters</strong></dt>
<dd><ul class="breatheparameterlist first last simple">
<li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART number to configure </li>
<li><code class="docutils literal notranslate"><span class="pre">speed</span></code>: The baudrate in bps to configure </li>
<li><code class="docutils literal notranslate"><span class="pre">databits</span></code>: The number of databits to send per byte </li>
<li><code class="docutils literal notranslate"><span class="pre">stopbits</span></code>: The number of stop bits to send </li>
<li><code class="docutils literal notranslate"><span class="pre">parity</span></code>: The UART parity </li>
<li><code class="docutils literal notranslate"><span class="pre">flow_ctl</span></code>: Flow control settings on the UART</li>
</ul>
</dd>
</dl>
</p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_close">
<span class="target" id="group___h_a_l_uart_1ga809e353287e60b88ed9d6e87bd96d4af"></span>int <code class="descname">hal_uart_close</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_close" title="Permalink to this definition">¶</a></dt>
<dd><p>Close UART port. </p>
<p>Can call <a class="reference internal" href="#group___h_a_l_uart_1ga26356de3e25529e34b2f13a400476839"><span class="std std-ref">hal_uart_config()</span></a> with different settings after calling this.</p>
<p><dl class="docutils">
<dt><strong>Parameters</strong></dt>
<dd><ul class="breatheparameterlist first last simple">
<li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART number to close </li>
</ul>
</dd>
</dl>
</p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_start_tx">
<span class="target" id="group___h_a_l_uart_1gad30876672c3a563654b2fa8d5030e418"></span>void <code class="descname">hal_uart_start_tx</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_start_tx" title="Permalink to this definition">¶</a></dt>
<dd><p>More data queued for transmission. </p>
<p>UART driver will start asking for that data.</p>
<p><dl class="docutils">
<dt><strong>Parameters</strong></dt>
<dd><ul class="breatheparameterlist first last simple">
<li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART number to start TX on </li>
</ul>
</dd>
</dl>
</p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_start_rx">
<span class="target" id="group___h_a_l_uart_1ga758ae010736ef0fb2cfcc096ab22a707"></span>void <code class="descname">hal_uart_start_rx</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_start_rx" title="Permalink to this definition">¶</a></dt>
<dd><p>Upper layers have consumed some data, and are now ready to receive more. </p>
<p>This is meaningful after uart_rx_char callback has returned -1 telling that no more data can be accepted.</p>
<p><dl class="docutils">
<dt><strong>Parameters</strong></dt>
<dd><ul class="breatheparameterlist first last simple">
<li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART number to begin RX on </li>
</ul>
</dd>
</dl>
</p>
</dd></dl>

<dl class="function">
<dt id="c.hal_uart_blocking_tx">
<span class="target" id="group___h_a_l_uart_1ga5b2feb681598e2151481e24f8115f913"></span>void <code class="descname">hal_uart_blocking_tx</code><span class="sig-paren">(</span>int<em>&nbsp;uart</em>, uint8_t<em>&nbsp;byte</em><span class="sig-paren">)</span><a class="headerlink" href="#c.hal_uart_blocking_tx" title="Permalink to this definition">¶</a></dt>
<dd><p>This is type of write where UART has to block until character has been sent. </p>
<p>Used when printing diag output from system crash. Must be called with interrupts disabled.</p>
<p><dl class="docutils">
<dt><strong>Parameters</strong></dt>
<dd><ul class="breatheparameterlist first last simple">
<li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART number to TX on </li>
<li><code class="docutils literal notranslate"><span class="pre">byte</span></code>: The byte to TX on the UART </li>
</ul>
</dd>
</dl>
</p>
</dd></dl>

</div>
</div>


                   </div>
                  </div>
                  
    <div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
      
        <a href="../hal_spi/hal_spi.html" class="btn btn-neutral float-right" title="SPI" accesskey="n">Next: SPI <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="../hal_gpio/hal_gpio.html" class="btn btn-neutral" title="GPIO" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: GPIO</a>
      
    </div>

                </div>
              </div>
            </div>
            <!-- ENDS CONTENT SECTION -->
          </div>
          <!-- ENDS .content -->
        </div>
      </div>
      <footer>
  <div class="container">
    <div class="row">
      <div class="col-xs-12">
          
              <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
          
      </div>
      <div class="col-xs-12">
          <div class="logos">
              <img src="../../../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
              <small class="footnote">
                Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
                registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
              </small>
              <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
                <img src="../../../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
              </a>
          </div>
      </div>
    </div>
  </div>
</footer>
    </div>
    <!-- ENDS #wrapper -->

  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../../../../',
            VERSION:'latest',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true,
            SOURCELINK_SUFFIX: '.txt'
        };
    </script>
      <script type="text/javascript" src="../../../../_static/jquery.js"></script>
      <script type="text/javascript" src="../../../../_static/underscore.js"></script>
      <script type="text/javascript" src="../../../../_static/doctools.js"></script>
      <script type="text/javascript" src="../../../../_static/js/bootstrap-3.0.3.min.js"></script>
      <script type="text/javascript" src="../../../../_static/js/affix.js"></script>
      <script type="text/javascript" src="../../../../_static/js/main.js"></script>

   

  </body>
</html>