<?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>LPC MicrocontrollersのトピックLPCOpen LPC11U68 USART0 baudrate 1024000</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC11U68-USART0-baudrate-1024000/m-p/584923#M21136</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dmitrij_zylkov on Wed Sep 02 04:23:22 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a problem with LPC11U68 USART0 baudrate configuration. Can somebody make clear what can be wrong with my code. When I set 1024000 baudrate for USART0 PC gets simbols on 2048000 baudrate and LPC11U68 USART0 unable to read them on this baud.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
void UART_0_Init(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t tmp = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t actual_baudrate = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_DisableIRQ(USART0_IRQn);//Disable UART0 interrupts

&amp;nbsp;&amp;nbsp;&amp;nbsp; //Initialize receive ring buffer.
&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;uart_0_data_rx, 0, UART_0_DATA_RX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ringbuf_init(&amp;amp;ring_uart_0_rx, (uint8_t*)&amp;amp;uart_0_data_rx, (uint8_t)UART_0_DATA_RX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Initialize transmit ring buffer
&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;uart_0_data_tx, 0, UART_0_DATA_TX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ringbuf_init(&amp;amp;ring_uart_0_tx, (uint8_t*)&amp;amp;uart_0_data_tx, (uint8_t)UART_0_DATA_TX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
//Initialize Rx and Tx pins
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* UART signals on pins PIO0_19 (FUNC3, U0_TXD) and PIO0_18 (FUNC2, U0_RXD) */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 18, (IOCON_FUNC1|IOCON_MODE_INACT));
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 19, (IOCON_FUNC1|IOCON_MODE_INACT));

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Setup UART for 115.2K8N1 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_Init(LPC_USART0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_SetBaud(LPC_USART0, USART_0_BAUDRATE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; actual_baudrate = Chip_UART0_SetBaudFDR(LPC_USART0, USART_0_BAUDRATE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_ConfigData(LPC_USART0, (UART0_LCR_WLEN8 | UART0_LCR_SBS_1BIT | UART0_LCR_PARITY_DIS));
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Setup FIFO buffer for USART0
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_SetupFIFOS(LPC_USART0, (UART0_FCR_FIFO_EN | UART0_FCR_RX_RS | UART0_FCR_TX_RS)); //&amp;nbsp; | UART0_FCR_TRG_LEV2
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_TXEnable(LPC_USART0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Ensure a clean start, no data in either TX or RX FIFO.&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (( LPC_USART0-&amp;gt;LSR &amp;amp; (UART0_LSR_THRE | UART0_LSR_TEMT)) != (UART0_LSR_THRE | UART0_LSR_TEMT) );
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( LPC_USART0-&amp;gt;LSR &amp;amp; UART0_LSR_RDR )
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp = Chip_UART0_ReadByte(LPC_USART0);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Dump data from RX FIFO */
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp |= tmp;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable receive data and line status interrupt */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_IntEnable(LPC_USART0, (UART0_IER_RBRINT | UART0_IER_RLSINT | UART0_IER_THREINT));&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; | UART0_IER_THREINT

NVIC_SetPriority(USART0_IRQn, 3);
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable UART 0 interrupt */
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(USART0_IRQn);
//Start UART_0 task
&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_0_TaskID = osThreadCreate(osThread (UART_0_Task), NULL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_0_Parse_TaskID = osThreadCreate(osThread (UART_0_Parse_Task), NULL);
CONSOL_SendString("Debug init! - [%u][%u][%u][%u]\r\n", UART_0_TaskID, UART_0_Parse_TaskID, actual_baudrate, Chip_Clock_GetMainClockRate());
&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOL_SendString("DLL - %u\r\n",LPC_USART0-&amp;gt;DLL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOL_SendString("DLM - %u\r\n",LPC_USART0-&amp;gt;DLM);
&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOL_SendString("FDR - %u\r\n",LPC_USART0-&amp;gt;FDR);

&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
}

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 20:24:13 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T20:24:13Z</dc:date>
    <item>
      <title>LPCOpen LPC11U68 USART0 baudrate 1024000</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC11U68-USART0-baudrate-1024000/m-p/584923#M21136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dmitrij_zylkov on Wed Sep 02 04:23:22 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a problem with LPC11U68 USART0 baudrate configuration. Can somebody make clear what can be wrong with my code. When I set 1024000 baudrate for USART0 PC gets simbols on 2048000 baudrate and LPC11U68 USART0 unable to read them on this baud.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
void UART_0_Init(void){&amp;nbsp;&amp;nbsp;&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t tmp = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t actual_baudrate = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_DisableIRQ(USART0_IRQn);//Disable UART0 interrupts

&amp;nbsp;&amp;nbsp;&amp;nbsp; //Initialize receive ring buffer.
&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;uart_0_data_rx, 0, UART_0_DATA_RX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ringbuf_init(&amp;amp;ring_uart_0_rx, (uint8_t*)&amp;amp;uart_0_data_rx, (uint8_t)UART_0_DATA_RX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Initialize transmit ring buffer
&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;uart_0_data_tx, 0, UART_0_DATA_TX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; ringbuf_init(&amp;amp;ring_uart_0_tx, (uint8_t*)&amp;amp;uart_0_data_tx, (uint8_t)UART_0_DATA_TX_SIZE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
//Initialize Rx and Tx pins
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* UART signals on pins PIO0_19 (FUNC3, U0_TXD) and PIO0_18 (FUNC2, U0_RXD) */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 18, (IOCON_FUNC1|IOCON_MODE_INACT));
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_IOCON_PinMuxSet(LPC_IOCON, 0, 19, (IOCON_FUNC1|IOCON_MODE_INACT));

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Setup UART for 115.2K8N1 */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_Init(LPC_USART0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_SetBaud(LPC_USART0, USART_0_BAUDRATE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; actual_baudrate = Chip_UART0_SetBaudFDR(LPC_USART0, USART_0_BAUDRATE);
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_ConfigData(LPC_USART0, (UART0_LCR_WLEN8 | UART0_LCR_SBS_1BIT | UART0_LCR_PARITY_DIS));
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Setup FIFO buffer for USART0
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_SetupFIFOS(LPC_USART0, (UART0_FCR_FIFO_EN | UART0_FCR_RX_RS | UART0_FCR_TX_RS)); //&amp;nbsp; | UART0_FCR_TRG_LEV2
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_TXEnable(LPC_USART0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Ensure a clean start, no data in either TX or RX FIFO.&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (( LPC_USART0-&amp;gt;LSR &amp;amp; (UART0_LSR_THRE | UART0_LSR_TEMT)) != (UART0_LSR_THRE | UART0_LSR_TEMT) );
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( LPC_USART0-&amp;gt;LSR &amp;amp; UART0_LSR_RDR )
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp = Chip_UART0_ReadByte(LPC_USART0);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Dump data from RX FIFO */
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp |= tmp;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable receive data and line status interrupt */
&amp;nbsp;&amp;nbsp;&amp;nbsp; Chip_UART0_IntEnable(LPC_USART0, (UART0_IER_RBRINT | UART0_IER_RLSINT | UART0_IER_THREINT));&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; | UART0_IER_THREINT

NVIC_SetPriority(USART0_IRQn, 3);
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable UART 0 interrupt */
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(USART0_IRQn);
//Start UART_0 task
&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_0_TaskID = osThreadCreate(osThread (UART_0_Task), NULL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; UART_0_Parse_TaskID = osThreadCreate(osThread (UART_0_Parse_Task), NULL);
CONSOL_SendString("Debug init! - [%u][%u][%u][%u]\r\n", UART_0_TaskID, UART_0_Parse_TaskID, actual_baudrate, Chip_Clock_GetMainClockRate());
&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOL_SendString("DLL - %u\r\n",LPC_USART0-&amp;gt;DLL);
&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOL_SendString("DLM - %u\r\n",LPC_USART0-&amp;gt;DLM);
&amp;nbsp;&amp;nbsp;&amp;nbsp; CONSOL_SendString("FDR - %u\r\n",LPC_USART0-&amp;gt;FDR);

&amp;nbsp;&amp;nbsp;&amp;nbsp; return;
}

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 20:24:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC11U68-USART0-baudrate-1024000/m-p/584923#M21136</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T20:24:13Z</dc:date>
    </item>
  </channel>
</rss>

