This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CMSIS USART

Hello Adib Taraben,

I am glad to read, that someone else is unhappy with CMSIS-UART.
I share your opinion, that CMSIS USART Driver is not 100% applicable for randomly receiving

You could implement a ringbuffer yourself and restart receiving
inside the callback, which is assigned with Initialize().

  // callback routine
  if (event & ARM_USART_EVENT_RECEIVE_COMPLETE) {
      // restart
      drv->Receive(ringBufferMem, ringBufferSize)
  }

In combination with GetRxCount() and a position variable, reading from ringbuffer is possible.

Disadvantage:
Although restart is done inside callback, some dead time exist after the end of previous receiving.

Thomas R