Priyanka Singh
Priyanka Singh
DIIDevHeads IoT Integration Server
Created by Marvee Amasi on 4/30/2024 in #firmware-and-baremetal
how can I transfer audio data from ISR to a task using queues on my STM32F401 with FreeRTOS?
Do you have compression techniques in place to try to reduce the size of data to be transferred? Also Check Queue Fullness Before ISR Data Transfer. That's within your ISR, before adding data to the queue, check for available space using xQueueCanSendFromISR(yourQueueHandle). If the queue is full, handle overflow: Drop Data (least desirable): Discard the current data packet (not ideal for audio quality). Signal Task: Set a flag or send a notification to the task indicating dropped data so it can potentially handle the issue You can also use xQueueSendFromISR Safely: Employ xQueueSendFromISR within the ISR to enqueue data. This function disables interrupts temporarily for safe queue access. Hope this helps. Please share more details about your existing implementation in case you need more help
7 replies