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.
尊敬的 Ajith Kumar:
(+) TMS570LS1227:HET 用作 GIO 输入、以触发下降沿中断-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
请参阅上面的主题、我已随附用于 LC4357的代码、以了解类似要求。
将其作为参考并按照它进行修改。
--
谢谢。此致、
Jagadish。
Jagadish、您好!
感谢您的答复、
上面的线程是使用边沿中断来创建中断的、那里只有8个边沿中断、所以我们可以使用8引脚作为边沿中断。 但我想使用20个引脚作为 GIO 中断。
首先、我已将 HET 端口1引脚配置为 GIO 并设置为输入方向。 当引脚为高电平或低电平时、程序流进入中断。
我已在下面附上该计划、
#include "HL_sys_common.h"
#include "HL_Gio.h"
#include "HL_HET.h"
空 main ()
{
_enable_interrupt_();
gioInit ();
hetInit ();
gioSetDirection (hetPORT1、0x00000000);
gioEnableNotification (hetPORT1、4);
gioEnableNotification (hetPORT1、9);
gioEnableNotification (hetPORT1、2);
gioEnableNotification (hetPORT1、18);
gioEnableNotification (hetPORT1、16);
gioEnableNotification (hetPORT1、30);
gioEnableNotification (hetPORT1、14);
gioEnableNotification (hetPORT1、12);
gioEnableNotification (hetPORT1、22);
gioEnableNotification (hetPORT1、27);
gioEnableNotification (hetPORT1、29);
gioEnableNotification (hetPORT1、31);
gioEnableNotification (hetPORT1、24);
gioEnableNotification (hetPORT1、26);
gioEnableNotification (hetPORT1、10);
gioEnableNotification (hetPORT1、28);
gioEnableNotification (hetPORT1、8);
gioEnableNotification (hetPORT1、23);
gioEnableNotification (hetPORT1、11);
gioEnableNotification (hetPORT1、1);
while (1);
}
void gioNotification (gioPORT_t *端口、UINT32位)
{
//停止电机
}
在这里、我已经在 halcogen 中启用了 Gio High 和 Gio Low 中断。 但我并没有意识到我犯了什么错误。
请引导我、
谢谢。此致、
A. Ajith Kumar
尊敬的 Ajith Kumar:
您无法为配置为 GIO 模式的 HET 引脚启用 GIO 通知。
因为如果看到函数 gioEnableNotification 的定义:
它们仅在端口为 gioPORTA 或 gioPORTB 时启用 通知、但这些端口除外、它不会启用通知。
因此、我们只能针对一个 HET 模块启用8个通知、此处我们总共使用了两个 HET 模块。 这意味着我们可以配置多达 16个 HET 中断。
--
谢谢。此致、
Jagadish。
Jagadish、您好!
如何使用 N2HET2引脚作为边沿中断、我已经尝试 n2het2[5]作为边沿0。 但它无法正常工作。 请使用 halcogen 中的过程在 n2het2定时器中创建边沿0。
谢谢。此致、
A: A·库马尔
尊敬的 Ajith Kumar:
e2e.ti.com/.../N2HET18_5F00_AS_5F00_INPUT_5F00_EDGE_5F00_TRIGGERING_5F00_TEST_5F00_LC4357.zip
这是我要介绍的一个经过测试的示例。 请将其用作参考并进行必要的修改。
我通过在"edgeNotification"函数中设置一个断点来测试这个示例。 一旦我在 HET1上应用了一个下降沿信号,它就会命中断点。
--
谢谢。此致、
Jagadish。
Jagadish、您好!
我使用了 HET1端口、在完全下降沿或上升沿时、我获得了边沿中断。 当我尝试在 HET2端口不工作时、我已经启用了 VIM 通道63和73、但当向引脚施加上升/下降信号时、未达到中断。 在 HET2的 halcogen 中所做的更改。
谢谢。此致、
A: A·库马尔
尊敬的 Ajith Kumar:
以下是 HET2_5下降沿中断的工作示例。
e2e.ti.com/.../N2HET2_5F00_EDGE_5F00_TRIGGERING_5F00_TEST_5F00_RM57.zip
在本例中、我将控制器引脚的 D12配置为 N2HET2_5功能、我在 RM57 Launchpad 中测试了此示例、运行正常。
如您所见、在应用下降沿代码后、会命中断点。
我怀疑您最终失败的原因之一:
大家可以看到、有多个引脚可实现 N2HET2_5功能、因此请确保将功能配置到正确的引脚、并确保在正确的引脚上进行测试。 否则、它将不起作用。
在我的示例中、我使用 D12引脚进行测试、该引脚具有 N2HET2_5的默认功能、因此我无需对多路复用器配置进行任何更改。 但如果您尝试使用 D16、则应在 HALCoGen 的引脚多路复用器表中对其进行配置。
--
谢谢。此致、
Jagadish。