esp32 reset on xQueueSend

burkulesomesh43
Posts: 132
Joined: Tue Aug 14, 2018 6:21 am
Location: India

esp32 reset on xQueueSend

Postby burkulesomesh43 » Mon Oct 15, 2018 1:47 pm

Hi,
I am sending string in a queue at that time esp32 gets reset.
if(xQueueSend( xQueue, ( void * ) &single_tag, ( portTickType ) 0 )==errQUEUE_FULL)
{
ESP_LOGI("Queue","Queue is full..");
}

error:

C:/esp32/esp-idf/components/freertos/queue.c:718 (xQueueGenericSend)- assert failed!
abort() was called at PC 0x4008c717 on core 0

Backtrace: 0x4008f190:0x3fff8200 0x4008f367:0x3fff8220 0x4008c717:0x3fff8240 0x400d4c7e:0x3fff8280

Rebooting...
ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5800
load:0x40078000,len:0
ho 12 tail 0 room 4
load:0x40078000,len:15000
entry 0x40078630
[0;32mI (30) boot: ESP-IDF v3.1-dev-1258-gb2ff235b-dirty 2nd stage bootloader[0m


Not getting what is the problem..please help me out for the problem..
--
Somesh Burkule

chegewara
Posts: 2378
Joined: Wed Jun 14, 2017 9:00 pm

Re: esp32 reset on xQueueSend

Postby chegewara » Tue Oct 16, 2018 12:37 am

This can be few things. Are you initializing xQueue before you use it? You want to pass stringand you dereferencing it with &, but char[] is equivalent to char* and is pointer without dereferencing. This is wrong, unless you want to pass pointer to pointer.

ESP_Sprite
Posts: 9764
Joined: Thu Nov 26, 2015 4:08 am

Re: esp32 reset on xQueueSend

Postby ESP_Sprite » Tue Oct 16, 2018 2:59 am

Chegewara is right on the money for the first option: The assert there checks if the xQueue (the first parameter to xQueueGenericSend) is NULL. That seems to be the case here; either you have not initialized xQueue with xQueueCreate, or you did but that call failed because of low memory.

burkulesomesh43
Posts: 132
Joined: Tue Aug 14, 2018 6:21 am
Location: India

Re: esp32 reset on xQueueSend

Postby burkulesomesh43 » Tue Oct 16, 2018 10:08 am

ESP_Sprite wrote:Chegewara is right on the money for the first option: The assert there checks if the xQueue (the first parameter to xQueueGenericSend) is NULL. That seems to be the case here; either you have not initialized xQueue with xQueueCreate, or you did but that call failed because of low memory.
Problem is solved.
actually I have used
xQueue = xQueueCreate( 500,1024);
now changed to..
xQueue = xQueueCreate( 500,8);
--
Somesh Burkule

Who is online

Users browsing this forum: Majestic-12 [Bot], Sang_Huynh and 114 guests