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.

[参考译文] TMDSCNCD28379D:某些 GPIO 无法设置/复位

Guru**** 2562120 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1570603/tmdscncd28379d-some-of-the-gpios-cannot-be-set-reset

器件型号:TMDSCNCD28379D


工具/软件:

你好

我使用 28379D 控制卡来控制一个十相降压转换器。  

我无法从 GPIO B 组设置/复位 GPIO。 对于其他 GPIO 组、设置/复位功能起作用。  

例如、  

//GPIO60 设置
GpioDataRegs.GPBDAT.bit.GPIO60 = 1;
GpioCtrlRegs.GPBPUD.bit.GPIO60 = 1;// 0 在 GPIO60 上启用上拉
GpioDataRegs.GPBSET.bit.GPIO60 = 1;//为输出锁存器加载 0
GpioCtrlRegs.GPBMUX2.bit.GPIO60 = 0;// GPIO60 = GPIO68
GpioCtrlRegs.GPBDIR.bit.GPIO60 = 1;// GPIO60 =输出  

我使用上述代码行设置 GPIO60。 但 GPBSET 选项无效。

我已经正确配置了上拉、gpiomux 和方向位。  

我附加了该工程。  

请帮助我解决问题。  

谢谢。此致

RCH

e2e.ti.com/.../0724.MPB.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    有人可以帮助我解决这个问题吗?

    谢谢。此致

    RCH

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    GPIOCTRL 寄存器受 EALLOW 保护。 您是否正在执行如下所示的操作、例如 GPIO56?

    // GPIO60 设置和清除示例
    EALLOW;
    GpioDataRegs.GPBDAT.bit.GPIO56 = 1
    GpioCtrlRegs.GPBPUD.bit.GPIO56 = 1// 0 在 GPIO56 上启用上拉  
    GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 0 
    GpioCtrlRegs.GPBDIR.bit.GPIO56 = 1// GPIO56 =输出
    EDIS;
    while (1)
    GpioDataRegs.GPBSET.bit.GPIO56 = 1//  
    delay_loop()
    GpioDataRegs.GPBCLEAR.bit.GPIO56 = 1//为输出锁存器加载 0
    delay_loop();
    }
    //
    // delay_loop — 延迟函数
    //
    void delay_loop ()
      短接 I;
      对于 (i = 0;i < 1000;i++){}
    }
     我在 Launchpad gpio56 上检查了它、然后看到它正在切换。
    谢谢