主题中讨论的其他器件: SysConfig
工具与软件:
您好、TI 专家:
我在 SK-AM62-LP 平台上工作、需要为 MCU M4侧将 GPIO 中断配置为下降沿、但我发现中断将在双侧边沿上触发、
即、下降沿和上升沿都将触发中断、而我 只需要下降沿!!
我测试了2个引脚: MCU_GPIO0_20、 MCU_GPIO0_15、 会发生此问题。
随附的2张图片是我的代码和配置。
非常感谢。


This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好、TI 专家:
我在 SK-AM62-LP 平台上工作、需要为 MCU M4侧将 GPIO 中断配置为下降沿、但我发现中断将在双侧边沿上触发、
即、下降沿和上升沿都将触发中断、而我 只需要下降沿!!
我测试了2个引脚: MCU_GPIO0_20、 MCU_GPIO0_15、 会发生此问题。
随附的2张图片是我的代码和配置。
非常感谢。


您好!
我已经尝试了在我的末尾举个例子,它对我来说是很好的。
请在下面找到附加的工程。
Project - gpio_input_interrupt_am62x-sk-lp_m4fss0-0_nortos_ti-arm-clang.zip
此致、
Tushar
Tushar、您好:
感谢您的答复
但是、我无法打开上面的链接:
[报价 userid="16414" url="~/support/processors-group/processors/f/processors-forum/1465883/sk-am62-lp-how-to-configure-the-m4-gpio-interrupt-trigger-type-to-falling-edge/5626298 #5626298"]gpio_input_interrupt_am62x-sk-lp_m4fss0-0_nortos_ti-arm-clang.zip抱歉,您所请求的页面不存在。 请使用上面的搜索表单找到您感兴趣的信息。
请您确认一下、谢谢!
此致、
Walter
您好、Walter、
对于此处的延迟、我们深表歉意。 我已在上面的链接中重新上传该项目。
请访问 https://e2e.ti.com/.../5626298。
此致、
Tushar
嗨、Gibbs、
我认为"太多按键检测"是由于切换(跳转接触)反弹问题、
是的、它经常在低到高之间波动、这就是我们看到大量按键的原因。
[报价 userid="533255" url="~/support/processors-group/processors/f/processors-forum/1465883/sk-am62-lp-how-to-configure-the-m4-gpio-interrupt-trigger-type-to-falling-edge/5663837 #5663837"]我们是否可以使用 SW 来实现"去除回弹"?
[报价]所有引脚都不支持去抖功能。 此外、当 GPIO 在20 MHz 上运行时、我们可以拥有的最大 GPIO 去抖周期为256us。
希望上述内容得到澄清。
此致、
Tushar
Tushar、您好!
请看下面的图片。
在这里、用户可以配置、直至去抖周期以毫秒为单位。
要配置去抖周期、用户无需为 GPIO IP 选择任何时钟设置。
用户需要在 DEBOUNCE_CFG 寄存器中写入数据、而去抖逻辑可以根据 DEBOUNCE_CFG 值运行20MHz 或32.768kHz。
Gibbs、如 Tushar 所述、去抖 逻辑对所有 GPIO 无效。
您可以查看数据表、以了解有关哪些引脚可以支持此功能的更多详细信息。

此致、
Anil。
您好!
您如何得出修改有效的结论?
无论引脚方向如何、均可生成中断。 您是否未测试上述示例?
此外、EVM 中没有引脚、因此无法像我们对 MCU_GPIO0_15那样在输入模式下对其进行测试。
此致、
Tushar
您好、Walter、
所以您没有实际测试跳线?
是的、您回答正确。 我还没有使用跳线电缆对其进行测试。
您提供的项目应进行修改以在已导出的 GPIO 上进行测试、对吗?
是的、您将需要修改它。 将 GPIO 的方向从输出更改为输入、并从程序中删除使引脚为高电平或低电平的行。
在活动级别期间、按 cnt 每秒递增一次、不再是边沿触发信号
您能否说明如何确认中断不是在边缘而是在级别上生成?
请参阅下面的屏幕截图。

此致、
Tushar
您好、Walter、
[报价 userid="630935" url="~/support/processors-group/processors/f/processors-forum/1465883/sk-am62-lp-how-to-configure-the-m4-gpio-interrupt-trigger-type-to-falling-edge/5666743 #5666743"]如果未接地、则印刷机 cnt 一次会增加很多。
您可以查看键 cnt 的对数、它从+1到+n
[报价]这是因为在断开跳线电缆的过程中、信号会从高电平波动到低电平。 信号有可能已把+n 次拉至低电平(下降沿)、并且同样也会产生中断。
如何确认中断是由上升沿引起的?
此致、
Tushar
您好、Walter、
[报价 userid="16414" url="~/support/processors-group/processors/f/processors-forum/1465883/sk-am62-lp-how-to-configure-the-m4-gpio-interrupt-trigger-type-to-falling-edge/5669359 #5669359"]这是由于在断开跳线电缆的过程中信号从高到低的波动所导致的。 信号可能已将+n 次变为低值(下降沿)并且会针对相同的值生成中断。[/QUOT]对于3。 请参阅上述陈述。
2. 保持跳线接地、您可以看到按下 cnt 仍为1。
这是因为信号没有变化。
此致、
Tushar
你好、 Walter、
3.断开接地跳线,相应的按压计数器从1更改为83。
[报价]我们怀疑当您从 LOW (GND)断开跳线时、 信号可能会被切换多次。
好的、我们想查看波形。 您能否在理想情况下分享波形(跳线未连接)并将跳线接地并断开跳线。
我们需要确认有任何噪声信号正在创建更多的中断。
此外、您是否有像可编程函数发生器那样进行任何设置、以便向 GPIO 引脚提供特定的计数脉冲并获取计数器值?
如果您没有上述工具、请分享波形。
此致、
Anil。
您好、Walter、
但它仍将在上升沿触发中断
这只是假设、或者您已经进行了验证。
请注意、示例中显示的方法并不理想。 它仅用于测试中断是否出现。
请为所使用的 GPIO 引脚启用内部上拉。
如果您仍担心触发的中断数量、请使用函数发生器向 GPIO 提供清晰的波形。 不建议手动测试 GPIO 中断。
此致、
Tushar
您好、Walter、
您看到中断多次被触发、因为您使用了手动方法连接和移除跳线电缆。
该方法仅用于测试中断是否发生。
从上面共享的波形可以看出、GPIO 的上升时间为高电平。 该信号可能会被多次读取为低电平(即下降沿)、因此会触发多次中断。
我们的项目使用 FreeRTOS 和 vtaskdelay 进行任务切换、
这似乎仍会导致对中断回调进行多次调用
[报价]您能否尝试使用函数发生器而不是手动使用它?
此致、
Tushar
您好、Walter、
在这些情况下似乎不再发生多个触发事件。
感谢您的确认。
我的同事目前正在使用信号发生器进行相关测试、
该问题不太可能发生、请在测试完成后告知我们。
此致、
Tushar