单片机/MCU论坛
直播中

张强

7年用户 1345经验值
私信 关注
[问答]

TC387如何配置GPIO,作为具有下降沿中断的输入?

我是AURIX™系列的新成员。 请告诉我如何配置 GPIO(P20.7)。 作为具有下降沿中断的输入?
  在用户手册中,我只能在 SCU 章节中找到 ERU。 但在EVAL_BDPS_DRIVER库中,GPIO(P20.7) 如果没有定义"......",那么 SCU 的 ERU 不支持它吗?否则,还有其他方法可以满足我的要求吗?


回帖(1)

挽你何用

2024-3-6 17:13:03
对于AURIX™系列芯片,您可以使用EVAL_BDPS_DRIVER库中的ERU(外部事件单元)来配置GPIO P20.7为具有下降沿中断的输入。以下是一些步骤可以帮助您配置GPIO P20.7:

1. 打开ERU:

```c
SCU_GENERAL->PASSWD = 0x000000C0; //解锁SCU模块
// 使能ERU模块
SCU_CLK->CLKSET.bit.ERU = 1;
SCU_GENERAL->PASSWD = 0x000000C3; //锁定SCU模块
```

2. 配置GPIO P20.7为输入模式:

```c
/* 将P20.7设置为输入模式 */
PORT20->IOCR0.bit.PC7 = 0x08; // 位7,6设为输入模式

/* 激活P20.7的输入电阻 */
PORT20->PDISC.bit.P7 = 0;
```

3. 配置ERU通道和相应的IO源:

```c
ERU0->EXISELR.bit.EXS6 = 0x0F; // 选择P20.7作为ERU通道的IO源

ERU0->EXICON0.bit.CE0 = 1; // 配置ERU通道0为下降沿中断触发器
```

4. 配置ERU0的中断优先级:

```c
VIC.PRL[1].ISPR[0].ISPA2 = 0x01; //ERU0优先级设置为0x01
```

这样,你就可以在ERU0的中断处理函数中处理GPIO P20.7的下降沿中断了。

请注意,具体的寄存器和位字段可能会因为不同的AURIX™系列芯片而有所不同。因此,您可能需要根据您使用的芯片的用户手册和相关的芯片特定代码库,进行适当的修改和适配。

最后,如果您发现SCU的ERU不支持GPIO(P20.7),您可以考虑使用其他的外部中断引脚来满足您的需求。不同的芯片可能支持不同数量和类型的外部中断引脚,您可以查阅相关的用户手册以获取更多的信息。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分