# Including "app_uart.h" in main program of 'simple_coap_server' example [closed]

HI All,

I wonder if someone can help me out. I would like to send serial data by modifying the 'simple_coap_server' main program. I added the following header 'app_uart.h' to make use of the functions but when I compile the program using GCC ('make' command in Windows), I get No such file or directory #include "app_uart.h". What I don't understand is that the file is in the directory and that I can compile the 'UART' example using GCC successfully without any problems. Any thoughts please, maybe I'm missing something?

Roger

edit retag reopen delete

### Closed as "the question is answered, right answer was accepted" by Roger at 2017-09-06 16:19:07 +0100

Sort by » oldest newest most voted

Do you mean the simple_coap_server example in the Thread SDK? Have you added the path to the header file to INC_FOLDER in the Makefile?

$(SDK_ROOT)/components/libraries/uart \  more ## Comments I'm such a noob, thank you very much Jørgen, it worked. Learned something new today. ( 2017-05-18 16:16:44 +0100 )editconvert to answer Happy to help! ( 2017-05-18 16:25:59 +0100 )editconvert to answer answered 2017-05-19 14:30:14 +0100 Hello Jørgen, Seems like there is something still missing which I don't fully understand. The 'simple_coap_server' compiles with no error after including$(SDK_ROOT)/components/libraries/uart \ in the INC_FOLDER of the Makefile. However, after including the following code from the 'UART' example to the main of 'simple_coap_server' example':

int main(void) {

uint32_t err_code;

const app_uart_comm_params_t comm_params =
{
RX_PIN_NUMBER,
TX_PIN_NUMBER,
RTS_PIN_NUMBER,
CTS_PIN_NUMBER,
APP_UART_FLOW_CONTROL_ENABLED,
false,
UART_BAUDRATE_BAUDRATE_Baud115200
};

APP_UART_FIFO_INIT(&comm_params,
UART_RX_BUF_SIZE,
UART_TX_BUF_SIZE,
uart_error_handle,
APP_IRQ_PRIORITY_LOWEST,
err_code);

APP_ERROR_CHECK(err_code);

printf("\r\nStart: \r\n");

while (true)
{
uint8_t cr;
while (app_uart_get(&cr) != NRF_SUCCESS);
while (app_uart_put(cr) != NRF_SUCCESS);

if (cr == 'q' || cr == 'Q')
{
printf(" \r\nExit!\r\n");

while (true)
{
// Do nothing.
}

}

}


I get the following error:

It seems that the functions of "app_uart.h" used in main are still undefined. In the 'UART' example, I also checked that the headers and source files in the Makefile, are also included in the 'simple_coap_server' Makefile, but I still get an undefined reference to the functions.

Are there perhaps any other files that need to be included? Any thoughts?

Roger

more

There are a few things needed to get UART working. In addition to adding the path to the header files, you need to include the source files app_uart_fifo.c, app_fifo.c, and nrf_drv_uart.c in your project/Makefile. You will also have to add the paths to the header files of these additional libraries. Then, you need to enable all the modules in sdk_config.h by setting the correct defines. Finally, if you also want to use printf() functionality for the UART interface, you need to incude the source file retarget.c, and enable this module in sdk_config.h as well. I see that these are not included in the config file for the Thread examples, so I created Makefile and sdk_config.h file that should work for you. Note that UART0 peripheral is owned by OpenThread stack and cannot be used by the application. You are therefore required to ...(more)

( 2017-05-19 15:41:49 +0100 )editconvert to answer

( 2017-09-06 14:58:36 +0100 )editconvert to answer

## Recent blog posts

• ### Estudando Projetos do SDK 10 para nRF5x com Eclipse Oxygen (Portuguese)

Posted 2017-11-12 00:08:55 by Carlos Delfino
• ### Configurando o Eclipse Oxygen para Desenvolvimento com nRF5x (Portuguese)

Posted 2017-11-10 21:15:47 by Carlos Delfino
• ### How to use Git for embedded software development

Posted 2017-11-06 13:21:55 by Yaniv Nis
• ### Thingy:52 based Weather Station

Posted 2017-10-29 22:31:15 by Krzysztof Szewczyk
• ### How to build continuous integration and delivery process for embedded SW development

Posted 2017-10-03 11:01:29 by Yaniv Nis

## Recent questions

• ### nRF51822 - S130 : how do I check timer2 is running or stop

Posted 2017-11-20 10:18:36 by CFF.K
• ### HardFault_Handler when I use WDT

Posted 2017-11-20 10:00:57 by abosch
• ### Communication between pca10040 and another device using UART

Posted 2017-11-20 09:55:59 by lirank
• ### How to access the RAM of nrf52832

Posted 2017-11-20 09:42:04 by 执剑写春秋
• ### Job Offer: nRF / Embedded Developer in Stuttgart, Germany

Posted 2017-11-20 09:40:23 by Marius Heil