如何使用FreeRTOS中的中断处理程序?
您好,我正在尝试将 OpenPicus devKit 用于我正在开发的项目,据我了解IDE 在创建新项目时,会创建基本上利用 FreeRTOS 和 OpenPicus 库的代码。
我想弄清楚的是如何通过 FreeRTOS 内核或通过 OpenPicus 使用中断(我认为这是不可能的)。我读到 FreeRTOS 中的 ISR 可以使用 __attribute__ ( ( signal ) ) 指令指定,但它们如何链接到特定中断?(uart 甚至只是一个高电平引脚?)
Hi I'm trying to use the OpenPicus devKit for a project I am working on and to my understanding the IDE, upon new project creation, creates code that basically utilizes FreeRTOS and OpenPicus libraries.
What I am trying to figure out is how to use interrupts with the FreeRTOS kernel, or through OpenPicus (i dont think this is possible). I have read that the ISRs in FreeRTOS can be specified with the __attribute__ ( ( signal ) )
directive but how are they linked to specific interrupts?(uart or even a pin just going high?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
中断处理是一种架构,并且通常是特定于编译器的,而不是特定于 FreeRTOS 的。 FreeRTOS 本身仅定义哪些 RTOS 调用在 ISR 中有效。
OpenPicus 硬件使用 PIC24。 PIC24 的 FreeRTOS 演示代码包括
[...]\Demo\PIC24_MPLAB\timertest.c
和[...]\Demo\PIC24_MPLAB\serial 中的定时器中断和串行中断示例\serial.c
分别。这些示例使用 Microchip 的 PIC24 编译器语法。如果您使用替代编译器,则需要查阅其文档。Interrupt handling is architecture, and often compiler specific rather than specific to FreeRTOS. FreeRTOS itself only defines what RTOS calls are valid in an ISR.
The OpenPicus hardware uses a PIC24. The FreeRTOS demo code for PIC24 includes a timer interrupt and serial interrupt examples in
[...]\Demo\PIC24_MPLAB\timertest.c
and[...]\Demo\PIC24_MPLAB\serial\serial.c
respectively. The examples use Microchip's PIC24 compiler syntax. If you are using an alternative compiler, you will need to consult its documentation.