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.

[参考译文] TMS320F28235-Q1:GPIO 寄存器读取的值不正确

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/977119/tms320f28235-q1-gpio-register-read-incorrect-value

器件型号:TMS320F28235-Q1

您好!

如今、我们遇到了 F28235的一个问题。

GPIO 32和33用于 I2C。 执行这些代码后、我们发现:

  1. GPBQSEL1位2仍然是0、而不是1;位3是1、这是正确的;
  2. GPBMUX1位2仍然为0、而不是1;位0为1、这是正确的。

 

EALLOW;

   GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; //异步输入 GPIO32 (SDAA)(位1和0)

GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; //异步输入 GPIO33 (SCLA)(位3和2)

 

   GpioCtrlRegs.GPBMUX1.bit.GPIO32=1;  //将 GPIO32配置为 SDAA (位1和0)

GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1;  //将 GPIO33配置为 SCLA  (位3和位2)

EDIS;

 

这些测试是:

  1. 从 JTAG 和寄存器地址读取 GPBQSEL1和 GPBMUX1寄存器值、它们是相同的;
  2. 写入“1”和“3”后,虽然读取值不正确,但 I2C 功能正常。 这意味着,“GpioCtrlRegs.GPBMUX1.bit.GPIO33”在表达式窗口中显示值为“0”,但 GPIO 作为 I2C 函数工作。
  3. 检查了另一个 F28235。 没有这种问题。

 

我的怀疑是:问题可能出在哪? 我们如何才能取得进展?

非常感谢。

BR、Jordan

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

    您好!

    它用于牵引和紧急情况。  

    如果没有其他解决方案、可以计划 FA。  

    非常感谢。

    BR、Jordan

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

    约旦

    如果您可以确认在此器件上运行的相同代码与其他 F28235器件的运行方式不同、那么我不能考虑会影响此内部寄存器的任何其他机制、它似乎指向 F28325器件中的某种故障。

    我建议您排除其他可能导致奇怪行为的外部因素、即 VDD 和 VDDIO 上的欠压或过压。

    我认为它在这里不会产生任何影响、但最好验证连接 GPIO 的电路是否不会违反电压和电流的数据表条件。

    否则,我认为规划 FA 是合乎逻辑的。

    此致、
    Cody