본문 바로가기

UART3

FreeRTOS와 Semaphore, Queue를 이용한 시리얼 통신 FreeRTOS RTOS(real time Operating System)는 프로세스와 주변 자원을 공유하거나 동작 여부를 보장해주는 방법들의 집단입니다. 여기에는 thread를 기본으로 task를 구성하는 방법과, 자원을 공유하는 뮤텍스 세마포어등이 기본으로 들어갑니다. 향후에 이에 관한 세부 내용을 정리하겠습니다. 이글에서는 RTOS 중에서 마이크로프로세서에 많이 사용되는 FreeRTOS를 이용해서 Arduin 에서 시리얼 통신을 구현하는 방법을 알아보겠습니다. Arduino의 FreeRTOS Arduino에서 FreeRTOS를 이용해서 시리얼 수신하는 방법을 알아보겠습니다. 우선 다른 글에서 다루었던 Queue 생성 내용을 먼저 참조해야 합니다. 먼저 아두이노에서 라이브러리 매니저에서 FreeRTO.. 2021. 10. 24.
라즈베리파이에서 UART 사용 UART 사용하기 UART 방식의 통신이 여전히 임베디드에서 사용되고 있습니다. 참으로 오래된 통신 방식이고 단점도 있지만 매우 간단하고 편리하면서 값싸게 구현이 가능하게 때문이겠죠. 물론 관련된 기술적 정보도 튼튼히 많이 있기도 합니다. 이 글에서는 라즈베리에서 UART를 사용하기 위한 기초인 설정과 검토 방법을 알아보겠습니다. 시리얼 통신과 UART 흔히 UART 통신을 시리얼 통신(serial communication)이라고 부르지만 엄밀히 말하면 잘못 용어를 적용한 것입니다. 시리얼 통신은 통신 데이터의 비트 표현을 시간에 따라 한 번에 한 비트씩 보내는 방법입니다. 그래서 직렬 통신이라고 부릅니다. 이와 대응하는 방법이 병렬 통신 (paralled communication)로 데이터를 표현하는 .. 2021. 10. 10.
시리얼 통신을 위한 Queue의 생성 Queue 임베디드 시스템의 프로세서 속도가 빠르기 때문에 오히려 인터럽트 발생이 많은 시리얼 통신을 RTOS를 이용해서 안정적으로 통신을 관리하는 방법이 사용됩니다. 이를 위해서는 RTOS가 제공하는 queue를 사용하거나, 자신이 queue를 만들어서 활용하기도 합니다. 그런데 RTOS가 제공하는 queue는 몇 개의 단점이 보여서 queue 클래스를 만들어서 활용하고 있습니다. 이 글에서는 아두이노를 위한 queue 생성 코드를 알아보겠습니다. //- 중복 컴파을 방지용 #ifndef MY_QUEUE_H #define MY_QUEUE_H //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include #i.. 2021. 8. 17.