Hi,
For the queue number, I suppose that there is not restriction as long as the memory is enough.
Pls refer to the queue description in freertos.
https://www.freertos.org/a00116.html
QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength,
UBaseType_t uxItemSize );
Each queue requires RAM that is used to hold the queue state, and to hold the items that are contained in the queue (the queue storage area). If a queue is created using xQueueCreate() then the required RAM is automatically allocated from the FreeRTOS heap. If a queue is created using xQueueCreateStatic() then the RAM is provided by the application writer, which results in a greater number of parameters, but allows the RAM to be statically allocated at compile time. See the Static Vs Dynamic allocation page for more information.
- Parameters:
-
| uxQueueLength |
The maximum number of items the queue can hold at any one time. |
| uxItemSize |
The size, in bytes, required to hold each item in the queue.
Items are queued by copy, not by reference, so this is the number of bytes that will be copied for each queued item. Each item in the queue must be the same size.
|
For your case, each queue occupies 100 bytes, so 1000 queues occupy 100KBytes, so it is okay.
Hope it can help you
BR
XiangJun Rong