<?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 Re: Sending a byte over UART0 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sending-a-byte-over-UART0/m-p/675105#M27060</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nabeel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you tried using the periph_uart example that comes as part of the LPCOpen package? It shows how to use the UART in polling, interrupt, and DMA modes and by default it uses the UART0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Carlos Mendoza&lt;BR /&gt;Technical Support Engineer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Jul 2017 13:56:40 GMT</pubDate>
    <dc:creator>Carlos_Mendoza</dc:creator>
    <dc:date>2017-07-04T13:56:40Z</dc:date>
    <item>
      <title>Sending a byte over UART0</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sending-a-byte-over-UART0/m-p/675104#M27059</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to send data over UART0. Any form of data, let us say a loop of 1 Byte.&lt;/P&gt;&lt;P&gt;I write a code based on the UART example in the LPCopen files.&lt;/P&gt;&lt;P&gt;can some one let me what is wrong? I can not any results on the oscilliscope. or if you can provide a simple code for sending and recieiving data on the UART it will be great.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For more info: I am using LPC4330 chip and LPCXpresso IDE&lt;/P&gt;&lt;P&gt;the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#ifdef __USE_CMSIS&lt;BR /&gt;#include "LPC43xx.h"&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;#include &amp;lt;cr_section_macros.h&amp;gt;&lt;/P&gt;&lt;P&gt;#if defined (__MULTICORE_MASTER_SLAVE_M0APP) | defined (__MULTICORE_MASTER_SLAVE_M0SUB)&lt;BR /&gt;#include "cr_start_m0.h"&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;// TODO: insert other include files here&lt;BR /&gt;#include "Physical_interface.h"&lt;BR /&gt;#include "board.h"&lt;BR /&gt;#include "uLED_functions.h"&lt;BR /&gt;unsigned char smiley_PWM[90*90];&lt;/P&gt;&lt;P&gt;// TODO: insert other definitions and declarations here&lt;BR /&gt;LPC_USART_T *pUART=LPC_USART0_BASE;&lt;BR /&gt;#define LPC_UART LPC_USART0&lt;BR /&gt;//#define LPC_UART LPC_UART1&lt;BR /&gt;#define UARTx_IRQn USART0_IRQn&lt;BR /&gt;#define UARTx_IRQHandler UART0_IRQHandler&lt;BR /&gt;#define _GPDMA_CONN_UART_Tx GPDMA_CONN_UART0_Tx&lt;BR /&gt;#define _GPDMA_CONN_UART_Rx GPDMA_CONN_UART0_Rx&lt;/P&gt;&lt;P&gt;/* Ring buffer size */&lt;BR /&gt;#define UART_RB_SIZE 256&lt;/P&gt;&lt;P&gt;/* Transmit and receive ring buffers */&lt;BR /&gt;STATIC RINGBUFF_T txring, rxring;&lt;/P&gt;&lt;P&gt;FlagStatus exitflag;&lt;BR /&gt; uint8_t buffer[10];&lt;BR /&gt; int ret = 0;&lt;BR /&gt; int len;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/* Transmit and receive buffers */&lt;BR /&gt;static uint8_t rxbuff[UART_RB_SIZE], txbuff[UART_RB_SIZE];&lt;/P&gt;&lt;P&gt;static uint8_t uartABStart[] = "Starting UART Auto-Baud - Press 'A' or 'a'! \n\r";&lt;BR /&gt;static uint8_t uartABComplete[] = "UART Auto-Baudrate synchronized! \n\r";&lt;/P&gt;&lt;P&gt;/* Uart Polling variables and functions declaration */&lt;BR /&gt;static uint8_t uartPolling_menu1[] = "Hello NXP Semiconductors \r\n";&lt;BR /&gt;static uint8_t uartPolling_menu2[] = "UART polling mode demo \r\n";&lt;BR /&gt;static uint8_t uartPolling_menu3[] = "\r\nUART demo terminated!";&lt;BR /&gt;static uint8_t uartPolling_menu4[] = "\r\nPress number 1-3 to choose UART running mode:\r\n"&lt;BR /&gt; "\t 1: Polling Mode \r\n"&lt;BR /&gt; "\t 2: Interrupt Mode \r\n"&lt;BR /&gt; "\t 3: DMA Mode \r\n";&lt;BR /&gt;static uint8_t uartPolling_menu5[] = "\r\nPolling mode is running now! Please press \'c\' and choose another mode \r\n";&lt;/P&gt;&lt;P&gt;/* Uart Interrupt variables and functions declaration */&lt;BR /&gt;static uint8_t uart_interrupt_menu[] =&lt;BR /&gt; "UART Interrupt mode demo ! \r\nPress '1' to '4' to display 4 menus \r\nPress 'x'to exit UART interrupt mode \r\n";&lt;BR /&gt;static uint8_t uart_interrupt_menu1[] = "UART interrupt menu 1 \r\n";&lt;BR /&gt;static uint8_t uart_interrupt_menu2[] = "UART interrupt menu 2 \r\n";&lt;BR /&gt;static uint8_t uart_interrupt_menu3[] = "UART interrupt menu 3 \r\n";&lt;BR /&gt;static uint8_t uart_interrupt_menu4[] = "UART interrupt menu 4 \r\n";&lt;BR /&gt;/* static uint8_t rxUartIntBuf[1]; */&lt;/P&gt;&lt;P&gt;#define DMA_TIMEOUT 0xA000000&lt;/P&gt;&lt;P&gt;/* DMA variables and functions declaration */&lt;BR /&gt;static uint8_t dmaChannelNumTx, dmaChannelNumRx;&lt;BR /&gt;static uint8_t uartDMA_menu[] = "Hello NXP Semiconductors (DMA mode)\r\n"&lt;BR /&gt; "UART DMA mode demo ! Please type 'hello NXP' to return\r\n";&lt;/P&gt;&lt;P&gt;static volatile uint32_t channelTC; /* Terminal Counter flag for Channel */&lt;BR /&gt;static volatile uint32_t channelTCErr;&lt;BR /&gt;static FunctionalState isDMATx = ENABLE;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/*****************************************************************************&lt;BR /&gt; * Private functions&lt;BR /&gt; ****************************************************************************/&lt;/P&gt;&lt;P&gt;/* Initialize DMA for UART, enable DMA controller and enable DMA interrupt */&lt;BR /&gt;static void App_DMA_Init(void)&lt;BR /&gt;{&lt;BR /&gt; /* Initialize GPDMA controller */&lt;BR /&gt; Chip_GPDMA_Init(LPC_GPDMA);&lt;BR /&gt; /* Setting GPDMA interrupt */&lt;BR /&gt; NVIC_DisableIRQ(DMA_IRQn);&lt;BR /&gt; NVIC_SetPriority(DMA_IRQn, ((0x01 &amp;lt;&amp;lt; 3) | 0x01));&lt;BR /&gt; NVIC_EnableIRQ(DMA_IRQn);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* DeInitialize DMA for UART, free transfer channels and disable DMA interrupt */&lt;BR /&gt;static void App_DMA_DeInit(void)&lt;BR /&gt;{&lt;BR /&gt; Chip_GPDMA_Stop(LPC_GPDMA, dmaChannelNumTx);&lt;BR /&gt; Chip_GPDMA_Stop(LPC_GPDMA, dmaChannelNumRx);&lt;BR /&gt; NVIC_DisableIRQ(DMA_IRQn);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* DMA routine for example_uart */&lt;BR /&gt;static void App_DMA_Test(void)&lt;BR /&gt;{&lt;BR /&gt; uint8_t receiveBuffer[16];&lt;/P&gt;&lt;P&gt;App_DMA_Init();&lt;BR /&gt; dmaChannelNumTx = Chip_GPDMA_GetFreeChannel(LPC_GPDMA, _GPDMA_CONN_UART_Tx);&lt;/P&gt;&lt;P&gt;isDMATx = ENABLE;&lt;BR /&gt; channelTC = channelTCErr = 0;&lt;BR /&gt; Chip_GPDMA_Transfer(LPC_GPDMA, dmaChannelNumTx,&lt;BR /&gt; (uint32_t) &amp;amp;uartDMA_menu[0],&lt;BR /&gt; _GPDMA_CONN_UART_Tx,&lt;BR /&gt; GPDMA_TRANSFERTYPE_M2P_CONTROLLER_DMA,&lt;BR /&gt; sizeof(uartDMA_menu));&lt;BR /&gt; while (!channelTC) {}&lt;/P&gt;&lt;P&gt;dmaChannelNumRx = Chip_GPDMA_GetFreeChannel(LPC_GPDMA, _GPDMA_CONN_UART_Rx);&lt;BR /&gt; isDMATx = DISABLE;&lt;BR /&gt; channelTC = channelTCErr = 0;&lt;BR /&gt; Chip_GPDMA_Transfer(LPC_GPDMA, dmaChannelNumRx,&lt;BR /&gt; _GPDMA_CONN_UART_Rx,&lt;BR /&gt; (uint32_t) &amp;amp;receiveBuffer[0],&lt;BR /&gt; GPDMA_TRANSFERTYPE_P2M_CONTROLLER_DMA,&lt;BR /&gt; 10);&lt;BR /&gt; while (!channelTC) {}&lt;/P&gt;&lt;P&gt;isDMATx = ENABLE;&lt;BR /&gt; channelTC = channelTCErr = 0;&lt;BR /&gt; Chip_GPDMA_Transfer(LPC_GPDMA, dmaChannelNumTx,&lt;BR /&gt; (uint32_t) &amp;amp;receiveBuffer[0],&lt;BR /&gt; _GPDMA_CONN_UART_Tx,&lt;BR /&gt; GPDMA_TRANSFERTYPE_M2P_CONTROLLER_DMA,&lt;BR /&gt; 10);&lt;BR /&gt; while (!channelTC) {}&lt;/P&gt;&lt;P&gt;App_DMA_DeInit();&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* Print Welcome Screen Menu subroutine by Interrupt mode */&lt;BR /&gt;static void Print_Menu_Interrupt(LPC_USART_T *UARTx)&lt;BR /&gt;{&lt;BR /&gt; uint32_t tmp;&lt;BR /&gt; uint8_t *pDat;&lt;/P&gt;&lt;P&gt;tmp = sizeof(uart_interrupt_menu);&lt;BR /&gt; pDat = (uint8_t *) &amp;amp;uart_interrupt_menu[0];&lt;BR /&gt; Chip_UART_SendRB(UARTx, &amp;amp;txring, pDat, tmp);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* Initialize Interrupt for UART */&lt;BR /&gt;static void App_Interrupt_Init(void)&lt;BR /&gt;{&lt;BR /&gt; /* Enable UART Rx &amp;amp; line status interrupts */&lt;BR /&gt; /*&lt;BR /&gt; * Do not enable transmit interrupt here, since it is handled by&lt;BR /&gt; * UART_Send() function, just to reset Tx Interrupt state for the&lt;BR /&gt; * first time&lt;BR /&gt; */&lt;BR /&gt; Chip_UART_IntEnable(LPC_UART, (UART_IER_RBRINT | UART_IER_RLSINT));&lt;/P&gt;&lt;P&gt;/* Before using the ring buffers, initialize them using the ring&lt;BR /&gt; buffer init function */&lt;BR /&gt; RingBuffer_Init(&amp;amp;rxring, rxbuff, 1, UART_RB_SIZE);&lt;BR /&gt; RingBuffer_Init(&amp;amp;txring, txbuff, 1, UART_RB_SIZE);&lt;/P&gt;&lt;P&gt;/* Enable Interrupt for UART channel */&lt;BR /&gt; /* Priority = 1 */&lt;BR /&gt; NVIC_SetPriority(UARTx_IRQn, 1);&lt;BR /&gt; /* Enable Interrupt for UART channel */&lt;BR /&gt; NVIC_EnableIRQ(UARTx_IRQn);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* DeInitialize Interrupt for UART */&lt;BR /&gt;static void App_Interrupt_DeInit(void)&lt;BR /&gt;{&lt;BR /&gt; /* Disable UART Rx &amp;amp; line status interrupts */&lt;BR /&gt; Chip_UART_IntDisable(LPC_UART, (UART_IER_RBRINT | UART_IER_RLSINT));&lt;/P&gt;&lt;P&gt;/* Disable Interrupt for UART channel */&lt;BR /&gt; NVIC_DisableIRQ(UARTx_IRQn);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* Interrupt routine for example_uart */&lt;BR /&gt;static void App_Interrupt_Test(void)&lt;BR /&gt;{&lt;BR /&gt; uint8_t isExit = 0, userInput;&lt;BR /&gt; int len;&lt;BR /&gt; App_Interrupt_Init();&lt;/P&gt;&lt;P&gt;/* Print out uart interrupt menu */&lt;BR /&gt; Print_Menu_Interrupt(LPC_UART);&lt;/P&gt;&lt;P&gt;while (!isExit) {&lt;BR /&gt; len = 0;&lt;BR /&gt; while (len == 0) {&lt;BR /&gt; len = Chip_UART_ReadRB(LPC_UART, &amp;amp;rxring, &amp;amp;userInput, 1);&lt;BR /&gt; }&lt;BR /&gt; if (userInput == '1') {&lt;BR /&gt; Chip_UART_SendRB(LPC_UART, &amp;amp;txring, (uint8_t *) &amp;amp;uart_interrupt_menu1[0], sizeof(uart_interrupt_menu1));&lt;BR /&gt; }&lt;BR /&gt; else if (userInput == '2') {&lt;BR /&gt; Chip_UART_SendRB(LPC_UART, &amp;amp;txring, (uint8_t *) &amp;amp;uart_interrupt_menu2[0], sizeof(uart_interrupt_menu2));&lt;BR /&gt; }&lt;BR /&gt; else if (userInput == '3') {&lt;BR /&gt; Chip_UART_SendRB(LPC_UART, &amp;amp;txring, (uint8_t *) &amp;amp;uart_interrupt_menu3[0], sizeof(uart_interrupt_menu3));&lt;BR /&gt; }&lt;BR /&gt; else if (userInput == '4') {&lt;BR /&gt; Chip_UART_SendRB(LPC_UART, &amp;amp;txring, (uint8_t *) &amp;amp;uart_interrupt_menu4[0], sizeof(uart_interrupt_menu4));&lt;BR /&gt; }&lt;BR /&gt; else if (( userInput == 'x') || ( userInput == 'X') ) {&lt;BR /&gt; isExit = 1;&lt;BR /&gt; }&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;App_Interrupt_DeInit();&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* Print Welcome menu by Polling mode */&lt;BR /&gt;static void Print_Menu_Polling(void)&lt;BR /&gt;{&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartPolling_menu1, sizeof(uartPolling_menu1));&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartPolling_menu2, sizeof(uartPolling_menu2));&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartPolling_menu5, sizeof(uartPolling_menu5));&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/*****************************************************************************&lt;BR /&gt; * Public functions&lt;BR /&gt; ****************************************************************************/&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt; * @brief GPDMA interrupt handler sub-routine&lt;BR /&gt; * @return Nothing&lt;BR /&gt; */&lt;BR /&gt;void DMA_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; uint8_t dmaChannelNum;&lt;BR /&gt; if (isDMATx) {&lt;BR /&gt; dmaChannelNum = dmaChannelNumTx;&lt;BR /&gt; }&lt;BR /&gt; else {&lt;BR /&gt; dmaChannelNum = dmaChannelNumRx;&lt;BR /&gt; }&lt;BR /&gt; if (Chip_GPDMA_Interrupt(LPC_GPDMA, dmaChannelNum) == SUCCESS) {&lt;BR /&gt; channelTC++;&lt;BR /&gt; }&lt;BR /&gt; else {&lt;BR /&gt; channelTCErr++;&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt; * @brief UART interrupt handler sub-routine&lt;BR /&gt; * @return Nothing&lt;BR /&gt; */&lt;BR /&gt;void UARTx_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; Chip_UART_IRQRBHandler(LPC_UART, &amp;amp;rxring, &amp;amp;txring);&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt; * @brief Main UART program body&lt;BR /&gt; * @return Always returns -1&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;int main(void)&lt;/STRONG&gt; {&lt;/P&gt;&lt;P&gt;// Start M0APP slave processor&lt;BR /&gt; unsigned int i=0;&lt;BR /&gt; unsigned char xx=0x55;&lt;BR /&gt; unsigned int gg=1;&lt;BR /&gt; uint8_t buffer[10];&lt;/P&gt;&lt;P&gt;//LPC_USART_T *pUART=LPC_USART0_BASE;&lt;/P&gt;&lt;P&gt;#if defined (__MULTICORE_MASTER_SLAVE_M0APP)&lt;BR /&gt; cr_start_m0(SLAVE_M0APP,&amp;amp;__core_m0app_START__);&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;// Start M0SUB slave processor&lt;BR /&gt;#if defined (__MULTICORE_MASTER_SLAVE_M0SUB)&lt;BR /&gt; cr_start_m0(SLAVE_M0SUB,&amp;amp;__core_m0sub_START__);&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; Board_UART_Init(LPC_UART);&lt;BR /&gt; /* Enable UART Transmit */&lt;BR /&gt; Chip_UART_TXEnable(LPC_UART);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; Chip_UART_Init(LPC_UART);&lt;BR /&gt; Chip_UART_SetBaud(LPC_UART, 115200);&lt;BR /&gt; Chip_UART_ConfigData(LPC_UART, UART_LCR_WLEN8 | UART_LCR_SBS_1BIT); /* Default 8-N-1 */&lt;/P&gt;&lt;P&gt;/* Enable UART Transmit */&lt;BR /&gt; Chip_UART_TXEnable(LPC_UART);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chip_UART_Init(LPC_UART);&lt;BR /&gt; //Chip_UART_Init(pUART);&lt;BR /&gt; Chip_UART_SetBaud(LPC_UART,9600);&lt;BR /&gt; //Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 5, 1);&lt;BR /&gt; Chip_UART_Send(LPC_UART,buffer,10);&lt;/P&gt;&lt;P&gt;// TODO: insert code here&lt;BR /&gt; Chip_SetupCoreClock(CLKIN_CRYSTAL, MAX_CLOCK_FREQ, true);&lt;BR /&gt; SystemCoreClockUpdate();&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; // Enter an infinite loop, just incrementing a counter&lt;BR /&gt; for (i=0;i&amp;lt;8101;i++)&lt;BR /&gt; {&lt;BR /&gt; smiley_PWM[i]=simily2[i]*Opt_nuer[i];&lt;BR /&gt; }&lt;BR /&gt; while(1) {&lt;/P&gt;&lt;P&gt;/* Reset FIFOs, Enable FIFOs and DMA mode in UART */&lt;BR /&gt; Chip_UART_SetupFIFOS(LPC_UART, (UART_FCR_FIFO_EN | UART_FCR_RX_RS |&lt;BR /&gt; UART_FCR_TX_RS | UART_FCR_DMAMODE_SEL | UART_FCR_TRG_LEV0));&lt;/P&gt;&lt;P&gt;/* Enable UART End of Auto baudrate &amp;amp; Auto baudrate timeout interrupts */&lt;BR /&gt; Chip_UART_IntEnable(LPC_UART, (UART_IER_ABEOINT | UART_IER_ABTOINT));&lt;/P&gt;&lt;P&gt;/* preemption = 1, sub-priority = 1 */&lt;BR /&gt; NVIC_SetPriority(UARTx_IRQn, 1);&lt;BR /&gt; /* Enable Interrupt for UART0 channel */&lt;BR /&gt; NVIC_EnableIRQ(UARTx_IRQn);&lt;/P&gt;&lt;P&gt;/* Send UART Autobaud completed message */&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartABStart, sizeof(uartABStart));&lt;/P&gt;&lt;P&gt;/* ---------------------- Auto baud rate section ----------------------- */&lt;BR /&gt; /* Start auto baudrate mode */&lt;BR /&gt; Chip_UART_ABCmd(LPC_UART, UART_ACR_MODE0, true, ENABLE);&lt;/P&gt;&lt;P&gt;/* Loop until auto baudrate mode complete */&lt;BR /&gt; while (Chip_UART_GetABEOStatus(LPC_UART) == RESET) {}&lt;/P&gt;&lt;P&gt;/* Send UART Autobaud completed message */&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartABComplete, sizeof(uartABComplete));&lt;/P&gt;&lt;P&gt;/* Disable UART Interrupt */&lt;BR /&gt; NVIC_DisableIRQ(UARTx_IRQn);&lt;/P&gt;&lt;P&gt;/* Print welcome screen */&lt;BR /&gt; Print_Menu_Polling();&lt;/P&gt;&lt;P&gt;exitflag = RESET;&lt;BR /&gt; /* Read some data from the buffer */&lt;BR /&gt; while (exitflag == RESET) {&lt;BR /&gt; len = 0;&lt;BR /&gt; while (len == 0) {&lt;BR /&gt; len = Chip_UART_Read(LPC_UART, buffer, 1);&lt;BR /&gt; }&lt;BR /&gt; if (buffer[0] == 27) {&lt;BR /&gt; /* ESC key, set exit flag */&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartPolling_menu3, sizeof(uartPolling_menu3));&lt;BR /&gt; ret = -1;&lt;BR /&gt; exitflag = SET;&lt;BR /&gt; }&lt;BR /&gt; else if (buffer[0] == 'c') {&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartPolling_menu4, sizeof(uartPolling_menu4));&lt;BR /&gt; len = 0;&lt;BR /&gt; while (len == 0) {&lt;BR /&gt; len = Chip_UART_Read(LPC_UART, buffer, sizeof(buffer));&lt;BR /&gt; if ((buffer[0] != '1') &amp;amp;&amp;amp; (buffer[0] != '2') &amp;amp;&amp;amp; (buffer[0] != '3')) {&lt;BR /&gt; len = 0;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; switch (buffer[0]) {&lt;BR /&gt; case '1': /* Polling Mode */&lt;BR /&gt; Chip_UART_SendBlocking(LPC_UART, uartPolling_menu5, sizeof(uartPolling_menu5));&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case '2': /* Interrupt Mode */&lt;BR /&gt; ret = 2;&lt;BR /&gt; /* Exitflag = SET; */&lt;BR /&gt; App_Interrupt_Test();&lt;BR /&gt; Print_Menu_Polling();&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case '3': /* DMA mode */&lt;BR /&gt; ret = 3;&lt;BR /&gt; App_DMA_Test();&lt;BR /&gt; Print_Menu_Polling();&lt;BR /&gt; break;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; /* Wait for current transmission complete - THR must be empty */&lt;BR /&gt; while (Chip_UART_CheckBusy(LPC_UART) == SET) {}&lt;/P&gt;&lt;P&gt;/* DeInitialize UART0 peripheral */&lt;BR /&gt; //Chip_UART_DeInit(LPC_UART);&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;Chip_UART_Send(pUART,&amp;amp;xx,1);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt; delay(1000);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt; return 0 ;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Jun 2017 15:39:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Sending-a-byte-over-UART0/m-p/675104#M27059</guid>
      <dc:creator>nabeelfattah</dc:creator>
      <dc:date>2017-06-27T15:39:05Z</dc:date>
    </item>
    <item>
      <title>Re: Sending a byte over UART0</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sending-a-byte-over-UART0/m-p/675105#M27060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Nabeel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you tried using the periph_uart example that comes as part of the LPCOpen package? It shows how to use the UART in polling, interrupt, and DMA modes and by default it uses the UART0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Carlos Mendoza&lt;BR /&gt;Technical Support Engineer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jul 2017 13:56:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Sending-a-byte-over-UART0/m-p/675105#M27060</guid>
      <dc:creator>Carlos_Mendoza</dc:creator>
      <dc:date>2017-07-04T13:56:40Z</dc:date>
    </item>
  </channel>
</rss>

