main()
함수에서 메시지 큐를 생성하고, Task1 이 5초에 한번씩 Task2에게 메시지 큐를 보낸다.
msgQCreate()
함수의 인자로 사용되는 메시지 큐 정보인 메시지큐 개수와 메시지의 길이를 MAX_MSG 10, MAX_MSG_LEN 128 각각 정의 하였다.
msgQCreate()
함수를 통해 생성할 메시지 큐 핸들러의 옵션을 저장할 변수이다.
[main 함수]
msgQCreate()
함수를 사용하여 메시지 큐를 생성한다. 함수의 원형은 아래와 같다.
[myTimer 함수]
[myTask1 함수]
memset()
함수를 사용하여 tx_buf 를 0으로 초기화 하였다.sprintf()
함수를 사용하여 tx_buf에 Task2에게 보낼 메시지를 저장 하였다.msgQSend()
함수를 사용하여 Task2에 메시지 큐를 보낸다.
함수의 원형은 아래와 같이 선언되어 있다.
msgQCreate()
함수로 생성한 메시지 큐 ID가 들어간다.
[myTask2 함수]
memset()
함수로 rx_buf 버퍼를 0으로 초기화 한다.msgQReceive()
함수를 사용하여 Task1에서 msgQSend( ) 함수로 메시지 큐를 보낼 때 까지 블록킹한다. 메시지 큐가 발생되면 rx_buf에 메시지를 저장한다.
msgQReceive()
함수원형은 아래와 같이 정의되어 있다.
msgQCreate()
함수로 생성한 메시지 큐 ID가 들어간다.
msgQReceive()
함수를 사용할 경우 메시지를 받는 과정에서 오류가 발생할 것을 대비하여 에러처리를 해주는 것
[clean 함수]
msgQDelete()
함수를 사용하여, msgQCreate( ) 함수로 생성한 메시지 큐 ID를 삭제한다.
[실행 결과]
VxWorks (BSP 파일구성/romInit.s 분석) (0) | 2017.07.05 |
---|---|
VxWorks C99 버전 변경 (0) | 2017.06.30 |
VxWorks (세마포어) (0) | 2017.06.30 |
VxWorks (Task 생성 / RS232 통신 ) (0) | 2017.06.30 |
VxWorks OS구성 / 개발 방법 (2) | 2017.06.30 |