2015-01-31 5 views
0

나는 freeRTOS에 대한 초보자입니다. 저는 현재 freeRTOS를 실행하는 cerebot Mx7ck (PIC32)를 사용하는 프로젝트 작업을하고 있습니다. 일부 이벤트 (예 : 버튼 입력을 입력 이벤트로 사용)를 사용하여 버튼을 읽어야합니까? 하지만 freeRTOS에서 사용할 수있는 폴링 기술이나 ISR을 사용할 수 없습니다.freeRTOS에서 폴링을 사용하지 않고 cerebot Mx7ck의 버튼을 읽는 방법은 무엇입니까?

교수는 이벤트 처리기를 사용하도록 제안했습니다. freeRTOS의 이벤트 관리에 대해서는 아무 것도 모릅니다. 인터럽트 서비스 루틴을 사용하지 않고서도 freeRTOS에 이벤트 핸들러와 관리가없는 것처럼 보입니다.

도와주세요. 나는 꽤 오랫동안 이것에 집착했다.

+1

아마도 단추를 인터럽트에 연결하고 인터럽트 처리기를 사용하여 이벤트를 알릴 수 있습니다. – kkrambo

답변

2
  1. 인터럽트를 생성하도록 단추를 구성하십시오.

  2. 는 인터럽트 서비스 루틴을 가지고 당신이 원하는 무엇이든 할 : (http://www.freertos.org/port_PIC32_MIPS_MK4.html 다음 페이지의 "인터럽트 서비스 루틴"절을 참조) FreeRTOS PIC32 포트에 대한 설명서 페이지에 설명 된대로

  3. 인터럽트 핸들러를 쓰기 버튼을 누를 때 일어나는 일.

당신이 인터럽트는 다음이 페이지에서 입증 된 바와 같이 작업 알림을 사용할 수있는 작업의 차단을 해제하려면 : http://www.freertos.org/RTOS-task-notifications.html 더 정확하게 http://www.freertos.org/RTOS_Task_Notification_As_Binary_Semaphore.html

당신이 FreeRTOS의 버전을 사용하지 않는 경우 작업을 지원합니다 알림 대신 바이너리 세마포어를 사용할 수 있습니다 - FreeRTOS.org 웹 사이트에서도 문서화되어 있습니다.

+0

제안 해 주셔서 감사합니다. 나는 ISR 루틴과 같은 인터럽트 처리기에 대해서도 생각했다. 하지만 교수님 께 제가 이벤트 핸들러를 사용하도록 요청한 것을 물었습니다. freeRTOS에서 이벤트 관리와 관련된 솔루션을 찾을 수 없었습니다. 어쩌면 내가 틀렸어 교수가 옳아. 그는 인터럽트가 Non RTOS 임베디드 개발에 대한 것이라고 설명했다. – Main

+1

@main : ISR과 폴링을 피하는 것이 의미가 없으므로 ISR 또는 폴링이 필요합니다. 다른 해결책은 없습니다. –

관련 문제