Code gets hung up in interrupt handler for LPC55s69

There were multiple issues in the project -

  1. It was using USART_WriteBlocking API and was expecting USART ISR to fire. The correct API to use is USART_TransferSendNonBlocking.
  2. It was first suspending the task and then calling UART send which would never get called as that task is suspended. The correct sequence should be - first invoke the send operation and then wait for a signal from the ISR.
  3. If InitTask is not needed anymore, it should delete itself.
  4. As @hs2 mentioned, it is never a good idea to use suspend/resume for synchronization and therefore, I updated the code to use semaphore instead.

Here is the updated code -
lpcxpresso55s69_freertos_usart.zip (770.3 KB)