我是 freeRTOS 的新手。我目前正在开发一个使用运行 freeRTOS 的 cerebot Mx7ck(PIC32) 的项目。我需要使用一些事件读取按钮(即使用按钮输入作为输入事件)?但我不允许使用 freeRTOS 中可用的轮询技术或 ISR。
教授建议使用事件处理程序。我对 freeRTOS 中的事件管理一无所知。如果不使用中断服务例程,freeRTOS 中似乎没有事件处理程序和管理。
请帮忙。我被困在这很长一段时间了。
配置按钮以产生中断。
按照 FreeRTOS PIC32 端口的文档页面中的说明编写中断处理程序(请参阅下一页上的“中断服务例程”部分:http ://www.freertos.org/port_PIC32_MIPS_MK4.html )
按下按钮时,让中断服务程序执行您想要发生的任何事情。
如果您希望中断解除对任务的阻塞,则可以使用此页面上演示的任务通知:http ://www.freertos.org/RTOS-task-notifications.html或更准确地说是 http://www.freertos。 org/RTOS_Task_Notification_As_Binary_Semaphore.html
如果您使用的不是支持任务通知的 FreeRTOS 版本,那么您可以使用二进制信号量 - FreeRTOS.org 网站上也有相关文档。