Embedded 如何在不使用freeRTOS轮询的情况下读取Cerbot Mx7ck中的按钮?

Embedded 如何在不使用freeRTOS轮询的情况下读取Cerbot Mx7ck中的按钮?,embedded,microchip,freertos,pic32,Embedded,Microchip,Freertos,Pic32,我是弗里尔托斯的新手。我目前正在从事一个使用Cerbot Mx7ck(PIC32)运行freeRTOS的项目。我需要使用一些事件读取按钮(即使用按钮输入作为输入事件)?但我不允许使用freeRTOS中可用的轮询技术或ISR 教授建议使用事件处理程序。我对freeRTOS中的事件管理一无所知。如果不使用中断服务例程,freeRTOS中似乎没有事件处理程序和管理 请帮忙。我被困在这里面好一阵子了 配置按钮以生成中断 按照FreeRTOS PIC32端口文档页上的说明编写中断处理程序(请参阅下一页的“

我是弗里尔托斯的新手。我目前正在从事一个使用Cerbot Mx7ck(PIC32)运行freeRTOS的项目。我需要使用一些事件读取按钮(即使用按钮输入作为输入事件)?但我不允许使用freeRTOS中可用的轮询技术或ISR

教授建议使用事件处理程序。我对freeRTOS中的事件管理一无所知。如果不使用中断服务例程,freeRTOS中似乎没有事件处理程序和管理

请帮忙。我被困在这里面好一阵子了

  • 配置按钮以生成中断

  • 按照FreeRTOS PIC32端口文档页上的说明编写中断处理程序(请参阅下一页的“中断服务例程”部分:)

  • 当按下按钮时,让中断服务程序执行您希望发生的任何操作

  • 如果希望中断解除对任务的阻止,则可以使用本页所示的任务通知:或者更准确地说


    如果您没有使用支持任务通知的FreeRTOS版本,那么您可以使用二进制信号量,这也记录在FreeRTOS.org网站上。

    也许您可以将按钮与中断关联,并使用中断处理程序来发送事件信号。谢谢您的建议。我也想到了中断处理程序,比如ISR例程。但在询问之后,我的教授让我使用事件处理程序。我在freeRTOS中找不到任何与事件管理相关的解决方案。也许我错了,教授是对的。他描述了中断用于非RTOS嵌入式开发。@main:这对于避免ISR和轮询没有任何意义,您需要ISR或轮询。没有其他解决办法。