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

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 close delete

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 +0200 )editconvert to answer Happy to help! ( 2017-05-18 16:25:59 +0200 )editconvert to answer answered 2017-05-19 14:30:14 +0200 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 +0200 )editconvert to answer

[hide preview]

## Recent blog posts

• ### Introducing nRF5 SDK for Mesh

Posted 2017-07-20 09:42:44 by Pär H

Posted 2017-07-19 06:53:42 by Mohammad Afaneh
• ### Unique Thread/Bluetooth multiprotocol solution with nRF5 SDK for Thread and nRF52840 SoC by Nordic

Posted 2017-07-14 10:31:56 by Krzysztof Loska
• ### nRF Connect macros (currently Android only)

Posted 2017-07-14 13:29:14 by Aleksander Nowakowski
• ### Power Optimization — From 3 to 7 Months on a Single Charge

Posted 2017-07-10 14:34:39 by Yaniv Nis

## Recent questions

• ### openocd configuration file nrf51.cfg not working

Posted 2017-07-22 18:40:18 by phob
• ### Problems with UART running ble_app_uart_c on nRF52832

Posted 2017-07-22 17:44:12 by kont40
• ### Wake-up source with nRF52 capacitive touch and current consumption

Posted 2017-07-22 17:35:46 by MANGO
• ### Different master instances for two slaves in nrf51422

Posted 2017-07-22 12:48:29 by Khan
• ### Receiving notifications from Android Phone

Posted 2017-07-22 12:29:52 by kian79