<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic uart4 register unknown in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519922#M3409</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Gonzalo_Sipel on Fri Oct 31 08:49:58 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi everyone:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm working with a LPC1788 and I've found in "usart_001.c" and "usart_001.h" files the following piece of code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[color=#63f]&lt;/SPAN&gt;&lt;STRONG&gt;usart_001.c&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;#if defined(CHIP_LPC177X_8X) || defined(CHIP_LPC407X_8X)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 4:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 0:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 2:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 3:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pUART-&amp;gt;TER2 = UART_TER2_TXEN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Wait for current transmit complete */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(pUART-&amp;gt;LSR &amp;amp; UART_LSR_THRE)) {}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Disable Tx */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pUART-&amp;gt;TER2 = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;usart_001h&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct {/*!&amp;lt; USARTn Structure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t IER;/*!&amp;lt; Interrupt Enable Register. Contains individual interrupt enable bits for the 7 potential &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t DLM;/*!&amp;lt; Divisor Latch MSB. Most significant byte of the baud rate divisor value. The full &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#if !defined CHIP_LPC11XX&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t TER2;/*!&amp;lt; Transmit Enable Register. Only on LPC177X_8X UART4 and LPC18XX/43XX USART0/2/3. */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} IP_USART_001_T;[/color]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is that when I look for pUART-&amp;gt;TER2 (UART4) register in the user manul there is any register with that name. Furthermore, when I debug my proyect I see that pUART-&amp;gt;TER2 is at 0x400A 405C direction and the last register of UART4 is at 0x400A 4058.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Somebody knows if is a user manual error or a library error??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:41:33 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:41:33Z</dc:date>
    <item>
      <title>uart4 register unknown</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519922#M3409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Gonzalo_Sipel on Fri Oct 31 08:49:58 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi everyone:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm working with a LPC1788 and I've found in "usart_001.c" and "usart_001.h" files the following piece of code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[color=#63f]&lt;/SPAN&gt;&lt;STRONG&gt;usart_001.c&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;#if defined(CHIP_LPC177X_8X) || defined(CHIP_LPC407X_8X)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 4:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 0:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 2:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 3:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pUART-&amp;gt;TER2 = UART_TER2_TXEN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Wait for current transmit complete */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(pUART-&amp;gt;LSR &amp;amp; UART_LSR_THRE)) {}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Disable Tx */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pUART-&amp;gt;TER2 = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;usart_001h&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct {/*!&amp;lt; USARTn Structure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t IER;/*!&amp;lt; Interrupt Enable Register. Contains individual interrupt enable bits for the 7 potential &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t DLM;/*!&amp;lt; Divisor Latch MSB. Most significant byte of the baud rate divisor value. The full &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#if !defined CHIP_LPC11XX&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t TER2;/*!&amp;lt; Transmit Enable Register. Only on LPC177X_8X UART4 and LPC18XX/43XX USART0/2/3. */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#endif&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} IP_USART_001_T;[/color]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is that when I look for pUART-&amp;gt;TER2 (UART4) register in the user manul there is any register with that name. Furthermore, when I debug my proyect I see that pUART-&amp;gt;TER2 is at 0x400A 405C direction and the last register of UART4 is at 0x400A 4058.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Somebody knows if is a user manual error or a library error??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:41:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519922#M3409</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: uart4 register unknown</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519923#M3410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MikeSimmonds on Fri Oct 31 09:51:53 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi. I am using 1778 (same as 1788 but no LCD) with all 5 UARTS.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I do not use CMSIS or LPCOPEN so I cannot comment on their driver or header files.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have just checked my user manual (latest rev 3.1 Sept 2014) and the "TER" at offset 0x30 is indeed missing for UART4.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And is missing going back as far as version 2.0 it seems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Since I do not need the modem signals of UART1 or the IRDA of UART4, my (original hand crafted code) has always&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;assumed that all five UARTS implement (at least) the same registers as documented in UART0/2/3, with TER at 0x30&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from the base.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I never noticed the UM error (I consider it to be an error anyway). I just enable Tx via bit 7 of TER at 30 for each and&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;all UARTs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And I can transmit and receive on all 5 UARTS (incl nbr 4). Does the code you got from the LPCOpen sources actually&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;work -- can you transmit on UART4? If not, this implies a library bug too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway, hope this helps. Mike&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW I amd not sure that you should double post in two different forums like this!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:41:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519923#M3410</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:41:34Z</dc:date>
    </item>
    <item>
      <title>Re: uart4 register unknown</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519924#M3411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Gonzalo_Sipel on Fri Oct 31 10:18:17 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks Mike,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the lpc driver never sets RET(0x30) so is a library bug too. Despite of this, it works because the reset value of RET is (1&amp;lt;&amp;lt;7). I think I will have to be careful using LPC library.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW, I've erased the other post ;-)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:41:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/uart4-register-unknown/m-p/519924#M3411</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:41:35Z</dc:date>
    </item>
  </channel>
</rss>

