Hi, i am using the Arduino Uno with the ATMEGA328p microcontroller. I wanna implement UART communication and i am not sure of the process when using freertos. Doing uart communcation without freertos is no problem for me but with Freertos i dont know what functions to use. I have done some reading and i went through the freertos pdfs and saw some examples but i am not very clear on them. Please it would be great if i got some steps on how to go about it. Thank you
I don’t know how the UART works on the Arduino, but I suspect it will be a simple uart write function that is not thread safe. If you have access to the registers and interrupt service routines then you can create a driver that uses FreeRTOS primitives and therefore allows readers and writers to block – otherwise you will just have to put a wrapper around the uart functions to prevent context switches while they are being used – for example wrap in a vTaskSuspendAll()/xTaskResumeAll() pair. Ideally just have a single thread that accesses the UART, and if other threads need to access it to then have those other threads send their messages to the task that is allowed to access the UART and have that task actually send them out.
I applied your suggestions and it worked .Thanks
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.