Interrupt Driven Circular Buffer Transfer Mode
[FreeRTOS+IO Transfer Modes]
Data DirectionThe interrupt driven circular buffer transfer mode can be used with FreeRTOS_read().
DescriptionioconfigUSE_CIRCULAR_BUFFER_RX must be set to 1 in FreeRTOSIOConfig.h for the circular buffer transfer mode to be available. It must also be explicitly enabled for the peripheral being used within the same configuration file.
When the circular buffer transfer mode is selected, FreeRTOS_read() does not read bytes directly from the peripheral, but from a circular buffer that is filled by the FreeRTOS+IO interrupt service routine as data is received.
The interrupt service routine, and the FreeRTOS circular buffer, are implemented by the FreeRTOS+IO code, and do not need to be provided by the application writer.
|Interrupt Driven Circular Buffer Transfer Mode|
The ioctlUSE_CIRCULAR_BUFFER_RX request code is used in a call to FreeRTOS_ioctl() to configure a peripheral to use the interrupt driven circular buffer transfer mode for reads. Note this request code will result in the peripheral’s interrupt being enabled, and the peripheral’s interrupt priority being set to the lowest possible. The ioctlSET_INTERRUPT_PRIORITY request code can be used to raise the peripheral’s priority if necessary.