如何在 modus Toolbox 中使用 GPIO 中断方法

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

我想使用评估板上的按钮来处理中断。
在 PSoC Creator 中,你所要做的就是将使用中断组件创建的元件连接到原理图编辑器中元件目录中的引脚元件,但在 ModustoolBox 中,在设备配置器中找不到中断组件之类的东西。
我应该如何使中断处理正常工作?

谢谢,

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/How-to-use-GPIO-interrupts-methods-at-modus-ToolBox/td-p/654626

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

无法使用设备配置器上的 Pin 参数等进行设置。
请使用外围设备驱动程序库 (PDL) 或硬件抽象层 (HAL) 的以下 API 来设置中断处理。

使用外设驱动程序库 (PDL) 在软件上进行配置。
优先级和中断向量可以使用 cy_sysint_Init () API 或 cy_sysint_setVector () API 进行初始化和更改。

而且它是使用 nvic_enableIrq () API 启用中断。

示例:配置注意事项
以下是典型中断配置的示例:

#define INTERRUPT_SOURCE_GPIO ioss_Interrupts_gpio_0_Irqn
/* 场景:向量表在 __RAM_VECTOR_TABLE 中移到 RAM [] */ void Interrupt_Handler_Port0 (void);cy_stc_syt_sint_t IntrCfg = {
/*.intrsrc=*/ INTERRUPT_SOURCE_GPIO, /* Interrupt source is GPIO port 0 interrupt */
/*.intrPriority =*/ 3UL /* Interrupt priority is 3 */
}; /* 在 Interrupt_Handler_Port0 处使用向量初始化中断 ()
*/ cy_sysint_Init (&




IntrCfg,& Intrupt_Handler_Port0);
/* 启用中断 */ nvic_enableIRQ (Intrcfg.Intrsrc);

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/How-to-use-GPIO-interrupts-methods-at-modus-ToolBox/m-p/654627

在原帖中查看解决方案

0 点赞
2 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

@MiSa_2357281

你也可以参考 Modustoolbox
的现有代码示例:https://github.com/Infineon/mtb-example-hal-gpio-interrupt

此代码示例演示如何使用配置为输入引脚的 GPIO 在英飞凌 MCU 上生成中断。 GPIO 信号中断 CPU 并执行用户定义的中断服务例程 (ISR)。 GPIO 中断充当唤醒源,将 CPU 从深度睡眠中唤醒。

最好的问候
Ekta

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/How-to-use-GPIO-interrupts-methods-at-modus-ToolBox/m-p/654823

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

无法使用设备配置器上的 Pin 参数等进行设置。
请使用外围设备驱动程序库 (PDL) 或硬件抽象层 (HAL) 的以下 API 来设置中断处理。

使用外设驱动程序库 (PDL) 在软件上进行配置。
优先级和中断向量可以使用 cy_sysint_Init () API 或 cy_sysint_setVector () API 进行初始化和更改。

而且它是使用 nvic_enableIrq () API 启用中断。

示例:配置注意事项
以下是典型中断配置的示例:

#define INTERRUPT_SOURCE_GPIO ioss_Interrupts_gpio_0_Irqn
/* 场景:向量表在 __RAM_VECTOR_TABLE 中移到 RAM [] */ void Interrupt_Handler_Port0 (void);cy_stc_syt_sint_t IntrCfg = {
/*.intrsrc=*/ INTERRUPT_SOURCE_GPIO, /* Interrupt source is GPIO port 0 interrupt */
/*.intrPriority =*/ 3UL /* Interrupt priority is 3 */
}; /* 在 Interrupt_Handler_Port0 处使用向量初始化中断 ()
*/ cy_sysint_Init (&




IntrCfg,& Intrupt_Handler_Port0);
/* 启用中断 */ nvic_enableIRQ (Intrcfg.Intrsrc);

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/How-to-use-GPIO-interrupts-methods-at-modus-ToolBox/m-p/654627

0 点赞