Merge branch 'bugfix/fix_stack_rs485_echo_example' into 'master'

fix(uart/example): Fixed the stack size allocation in uart echo examples

Closes IDFGH-13483

See merge request espressif/esp-idf!33079
This commit is contained in:
Alex Lisitsyn 2024-08-27 15:54:45 +08:00
commit bd95e6955b
3 changed files with 17 additions and 10 deletions

View File

@ -38,7 +38,7 @@ menu "Echo Example Configuration"
config EXAMPLE_TASK_STACK_SIZE
int "UART echo example task stack size"
range 1024 16384
default 2048
default 3072
help
Defines stack size for UART echo example. Insufficient stack size can cause crash.

View File

@ -48,4 +48,11 @@ menu "Echo RS485 Example Configuration"
See UART documentation for more information about available pin
numbers for UART.
config ECHO_TASK_STACK_SIZE
int "UART echo RS485 example task stack size"
range 1024 16384
default 3072
help
Defines stack size for UART echo RS485 example. Insufficient stack size can cause crash.
endmenu

View File

@ -39,7 +39,7 @@
// Read packet timeout
#define PACKET_READ_TICS (100 / portTICK_PERIOD_MS)
#define ECHO_TASK_STACK_SIZE (2048)
#define ECHO_TASK_STACK_SIZE (CONFIG_ECHO_TASK_STACK_SIZE)
#define ECHO_TASK_PRIO (10)
#define ECHO_UART_PORT (CONFIG_ECHO_UART_PORT_NUM)
@ -95,7 +95,7 @@ static void echo_task(void *arg)
// Allocate buffers for UART
uint8_t* data = (uint8_t*) malloc(BUF_SIZE);
ESP_LOGI(TAG, "UART start recieve loop.\r");
ESP_LOGI(TAG, "UART start receive loop.\r");
echo_send(uart_num, "Start RS485 UART test.\r\n", 24);
while (1) {
@ -112,7 +112,7 @@ static void echo_task(void *arg)
for (int i = 0; i < len; i++) {
printf("0x%.2X ", (uint8_t)data[i]);
echo_send(uart_num, (const char*)&data[i], 1);
// Add a Newline character if you get a return charater from paste (Paste tests multibyte receipt/buffer)
// Add a Newline character if you get a return character from paste (Paste tests multibyte receipt/buffer)
if (data[i] == '\r') {
echo_send(uart_num, "\n", 1);
}