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.

[参考译文] TMS320C6748:使用 HWREG 的 GPIO 输出控制在 C6748中无法正常工作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580233/tms320c6748-gpio-output-control-using-hwreg-does-not-work-well-in-c6748

器件型号:TMS320C6748

我想使用 Starterware_1_20_04_01中提供的 HWREG 函数来控制 GPIO8 (13)和 GPIO8 (15)。

但是、GPIO8 (13)和 GPIO8 (15)的输出控制没有成功。

请参阅以下代码、如下所示。

HWREG (SET_DATA8)|=(0x00002000);//设置 FPGA L1/DSP J4 GPIO8 (13)读取数据表命令。

while (!((HWREG (IN_DATA67)&(0x10000000)= 0x10000000))// GPIO7[12]数据未空就绪

        HWREG (SET_DATA8)|=(0x00008000);//设置 FPGA M3/DSP G1 GPIO8 (15) tClk 设置
        延迟(10);
        HWREG (CLR_DATA8)|=(0x00008000);//清除 FPGA M3/DSP G1 GPIO8 (15) tClk 复位

在此代码中、我要尝试使用 GPIO8引脚13作为选择信号、并使用 GPIO8引脚15生成一系列脉冲。 有趣的是 、当我使用上述代码所示的同一 GPIO 组中的两个引脚时 、尝试 打开 一个引脚 并将其保持 为导通状态、并使用 另一个引脚生成脉冲序列、 第一个引脚 受后续引脚操作的影响。  特别是 、如果我将 GPIO8引脚13设置为打开 并循环开关 GPIO8引脚15、 则 GPIO8引脚13在 GPIO8引脚15从逻辑状态1转换为0时关闭。 因此、我想知道这背后发生了什么。 由于我只是通过代码'HWREG (CLR_DATA8)|=(0x00008000);'来清除 GPIO8 PIN15、我预计只有 GPIO8引脚15关闭、而其他引脚保持不变。 这是我错的吗? 如果我对此有误、请纠正我的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我已通知 RTOS 团队。 反馈将发布在此处。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为您不应该对设置和清除寄存器使用读取-修改-写入操作。 尝试不使用'|'、例如
    HWREG (SET_DATA8)=(0x00008000);//设置 FPGA M3/DSP G1 GPIO8 (15) tClk 设置
    HWREG (CLR_DATA8)=(0x00008000);
    OUT_DATA 寄存器上需要进行读取-修改-写入。 我假设您已正确配置 GPIO 方向。 此外、为什么不使用 StarterWare GPIO 功能? 太慢?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我看到您尝试从您的解释中指出什么。 我认为这将是更简单的 GPIO 输出控制方法。 谢谢你、Norman。