본문 바로가기

Serial2

FreeRTOS와 Semaphore, Queue를 이용한 시리얼 통신 FreeRTOS RTOS(real time Operating System)는 프로세스와 주변 자원을 공유하거나 동작 여부를 보장해주는 방법들의 집단입니다. 여기에는 thread를 기본으로 task를 구성하는 방법과, 자원을 공유하는 뮤텍스 세마포어등이 기본으로 들어갑니다. 향후에 이에 관한 세부 내용을 정리하겠습니다. 이글에서는 RTOS 중에서 마이크로프로세서에 많이 사용되는 FreeRTOS를 이용해서 Arduin 에서 시리얼 통신을 구현하는 방법을 알아보겠습니다. Arduino의 FreeRTOS Arduino에서 FreeRTOS를 이용해서 시리얼 수신하는 방법을 알아보겠습니다. 우선 다른 글에서 다루었던 Queue 생성 내용을 먼저 참조해야 합니다. 먼저 아두이노에서 라이브러리 매니저에서 FreeRTO.. 2021. 10. 24.
시리얼 통신을 위한 Queue의 생성 Queue 임베디드 시스템의 프로세서 속도가 빠르기 때문에 오히려 인터럽트 발생이 많은 시리얼 통신을 RTOS를 이용해서 안정적으로 통신을 관리하는 방법이 사용됩니다. 이를 위해서는 RTOS가 제공하는 queue를 사용하거나, 자신이 queue를 만들어서 활용하기도 합니다. 그런데 RTOS가 제공하는 queue는 몇 개의 단점이 보여서 queue 클래스를 만들어서 활용하고 있습니다. 이 글에서는 아두이노를 위한 queue 생성 코드를 알아보겠습니다. //- 중복 컴파을 방지용 #ifndef MY_QUEUE_H #define MY_QUEUE_H //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #i.. 2021. 8. 17.