我是freeRTOS的新手。我目前正在开发一个使用运行freeRTOS的cerebot Mx7ck(PIC32)的项目。我需要使用一些事件来读取按钮(即使用按钮输入作为输入事件)?但我不允许在freeRTOS中使用轮询技术或ISR。
教授建议使用事件处理程序。我对freeRTOS中的事件管理一无所知。看起来freeRTOS中没有事件处理程序和管理而不使用中断服务例程。
请帮忙。我被困在这里已经有一段时间了。
答案 0 :(得分:2)
配置按钮以生成中断。
按照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网站上记录。