CubeIDE에서 FreeRTOS 배우기(2) - 메시지 대기열
이번에 상술한 보도의 발전판으로서 나는 똑같이 임무 간 통신 기능으로서의 정보 대열을 체험하고 싶다.
정편
1. 준비
저번 보도에 따라 훈련을 실시하다.
2.해보자!
2-1. 규격.
기본적으로 모방저번이지만 변경된 부분은 취소선+굵은 글자입니다.
이벤트 메시지와 데이터를 받는 작업은 메아리만
2-2. 이루어지다
2-2-1. 메시지 대기열 추가
익숙한 FREERTOS - Tasks and Quees 탭에 큐를 추가합니다.
금형 uint8만 있으면기본값은 t로서 OK입니다.
uint8 t형 16개를 줄 세울 수 있다는 뜻이다.
2-2-2. 기타(기타)
이번부터 다른 서류로 준비했어요user.c!
사용상의 주의사항은 다음과 같다.
2-3. 시험해 보다
지난번과 마찬가지로 테라테임의 에코백을 확인할 수 있을 것 같다(역시 잡다함).
3. 간단한 해설
3-1. 정보 대기열은
한 마디로 하면 활동과 데이터를 동시에 알리는 구조다.
이 예에서
"사건 = 받았어요".
"데이터=수신 데이터 자체"
네.
데이터의 사이즈는 (아무것도 방법이 없으면 1 최대 32비트 (uint 32t형) 이다.
CMSIS 사양은 다음과 같습니다.
Message Queue
http://www.keil.com/pack/doc/CMSIS/RTOS/html/group__CMSIS__RTOS__Message.html
3-2. 정의 및 생성
똑똑한 IDE는 자동으로 생성됩니다(main.c에 포함됨).
그래서 여기서는 핸들만 사용한다.
extern osMessageQId myQueue01Handle;
3-3. 전송 및 수신
각각 다음과 같다.
/* Put Message */
osMessagePut(myQueue01Handle, (uint32_t)rxData, 0);
/* Get Message */
osEvent evt = osMessageGet(myQueue01Handle, osWaitForever);
끝말
신호 사건과 마찬가지로 아주 간단하게 실현할 수 있어요!
만약 신호 이벤트와 이 메시지 대기열이 있다면 아마도 작업 간의 통신(경험 규칙)을 망라할 수 있을 것이다.
다음 기사에서 무엇을 할 것인지를 토론하고 있다.
참고 자료
CMSIS-RTOS
Function Overview
http://www.keil.com/pack/doc/CMSIS/RTOS/html/functionOverview.html
컨디션
CMSIS-RTOS
Function Overview
http://www.keil.com/pack/doc/CMSIS/RTOS/html/functionOverview.html
컨디션
Reference
이 문제에 관하여(CubeIDE에서 FreeRTOS 배우기(2) - 메시지 대기열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imagou/items/ffdd774145610059af8e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)