My UART is going into a NO_MEMORY error after trying to transmit a single byte. When i try and put the second letter on the transmit buffer, it gives err_code = 4. I tried to use the example but when i compiled and uploaded the example project it just doesn't work either. Not sure if because i am working with a custom board. On the debugger i can see it is cycling through the string as it should as i see it transmit 'H' and the next letter i try and transmit is 'e'. but it goes into error mode.
Also as a side note I am trying to update the fds sample file which also has a CLI implementation. I am trying to remove that to see if it works. There really needs to be a document of necessary imports into the sdk_config.h file of what you need for each aspect. Maybe there is and I haven't found it. Like you want to use UART then you need to include these declarations for the libraries to work.
#define RX_BUF_SIZE 128 /**< Size of desired RX buffer, must be a power of 2 or ZERO (No FIFO). */ #define TX_BUF_SIZE 128 /**< Size of desired TX buffer, must be a power of 2 or ZERO (No FIFO) */ const app_uart_comm_params_t comm_params = { .rx_pin_no = RX_PIN, //RX_PIN = P0.06 .tx_pin_no = TX_PIN, //TX_PIN = P0.08 .rts_pin_no = -1, .cts_pin_no = -1, //Below values are defined in ser_config.h common for application and connectivity .flow_control = APP_UART_FLOW_CONTROL_DISABLED, .use_parity = false, .baud_rate = UART_BAUDRATE_BAUDRATE_Baud9600 }; void uart_init(void){ uint32_t err_code; uid[0] = (char)0; nrf_gpio_cfg_input(RX_PIN, NRF_GPIO_PIN_PULLUP); nrf_gpio_cfg_output(TX_PIN); APP_UART_FIFO_INIT(&comm_params, RX_BUF_SIZE, TX_BUF_SIZE, uart_evt_callback, UART_IRQ_PRIORITY, err_code); APP_ERROR_CHECK(err_code); } void uart_putstring(const uint8_t * str) { uint32_t err_code; uint8_t len = strlen((char *) str); for (int i = 0; i < len; i++) { err_code = app_uart_put(str[i]); APP_ERROR_CHECK(err_code); nrf_delay_us(1250); } } void uart_test(void){ uart_putstring("Hello World"); } int main(void){ uart_init(); while(true){ uart_test(); nrf_delay_ms(1000); } }