单片机/MCU论坛
直播中

甘满盛

7年用户 1255经验值
擅长:386660
私信 关注

有没有办法为PSOC5LP禁用XRES(引脚 15)?

嗨,我目前正在将 CY8C5888AXI-LP096 用于一个项目。 我已将 XRES(引脚 15) 线连接到端口进行编程,以便 CAN 支持现场编程。
在测试过程中,我发现线路 CAN 毛刺,这似乎会导致我的设计不稳定。
有没有办法在正常运行期间禁用 XRES 线路?
我正在阅读一些文档,其中提到在 NV Latch 寄存器中我可以将 XRES 切换到 GPIO 引脚。 但是查看我的代码库,我似乎 CAN无法访问 NV Latch 寄存器。 如何访问 NV Latch 寄存器?
我尝试使用可选的 XRES 设置,但这会将引脚 #22 更改为 XRES 行,我正在寻找的是 CAN 我如何禁用引脚 #15 上的 XRES。
如果无法禁用(引脚 #15 XRES),你会建议采取什么措施来稳定我的系统,同时还能对 MCU 进行编程?


回帖(1)

李军

2024-1-29 17:44:22
对于PSOC5LP,XRES引脚(引脚15)是系统引导引脚,通常用于启动和重置控制。在正常运行期间禁用XRES可能会导致系统不稳定或无法正常工作。因此,不建议禁用XRES引脚。

然而,如果您确实需要禁用XRES引脚,可以通过将NV Latch寄存器(PSoC的非易失性存储器锁存器)切换为GPIO引脚来实现。您可以使用PSoC Creator中提供的NVLATCH API来设置和重置NVLATCH寄存器。

以下是一个示例代码片段,它演示了如何使用NV Latch API将XRES引脚重新配置为GPIO引脚。

```c
#include

int main()
{
    CyGlobalIntEnable;
   
    /* Disable XRES pin */
    CY_SET_XRES_HIZ(); // Set XRES pin as High-Z
   
    /* Configure XRES pin as GPIO */
    NVLATCH_LATCH_REG |= NVLATCH_LATCH_STATE;
    CyDelayUs(1); // Delay for NVLATCH state change to take effect
    CY_SET_REG32(CYREG_GPIO_PRT3_PC, CY_GET_REG32(CYREG_GPIO_PRT3_PC) | 0x01); // Set XRES pin as GPIO
   
    /* ... Rest of your code ... */
   
    for(;;)
    {
        /* ... Your main program loop ... */
        
        /* Perform other tasks */
    }
}
```

请注意,禁用XRES引脚可能会对系统的稳定性和可靠性产生负面影响。在禁用XRES引脚之前,建议先了解该引脚的具体用途和影响,并谨慎测试和评估结果。
举报

更多回帖

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