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.

[参考译文] TMS320F280041:GPIO Init 过程在与内部 DC-DC 稳压器共享的 GPIO 23上失败

Guru**** 2542070 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/765898/tms320f280041-gpio-init-procedure-fails-on-gpio-23-shared-with-internal-dc-dc-regulator

器件型号:TMS320F280041
主题中讨论的其他器件:C2000WARE

大家好、

GPIO23的初始化作为输出 GPIO 时出现问题。

来自28004X 技术参考手册:TMS320F28004x 技术参考手册 sprui33a.pdf
注意:GPIO22和 GPIO23在复位时处于特殊模拟模式、必须通过清零 GPAAMSEL 中的位来重新配置 GPIO 使用。

我已验证  DCDCCTL:DCDCEN = 0x00 (未使用 DC-DC)。

我的代码如下:

analog_Subsystems.DCDCCTL.AsWord &=~0x0001; //将0写入使能位。

IOModule.GPIO_CTRL.GPAAMSEL.items.GPIO_23 = 0;

IOModule.GPIO_CTRL.GPAODR.Items.GPIO_23  = 0;
IOModule.GPIO_CTRL.GPAPUD.Items.GPIO_23  = GPIO_PU_DISABLE;
IOModule.GPIO_CTRL.GPAGMUX2.items.GPIO_23 = 0;
IOModule.GPIO_CTRL.GPAMUX2.items.GPIO_23 = 0;    //用作 I/O
IOModule.GPIO_CTRL.GPADIR.items.GPIO_23  = 1;

但输出似乎未按预期工作。 该引脚不执行清除或切换。

对于 GPIO22、我使用相同的过程成功了。

哪里出了问题、或者我错过了什么?

提前感谢、

Marco

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

    几个问题:
    1.您是否以某种频率切换 GPIO23?
    GPIO23是否连接到电路板上的任何元件?
    3.您是否创建了自己的头文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frank、

    1.和2. 我阅读了有关该引脚频率限制的段落。 我们有一个连接到该引脚的 LED、我们希望使用最大值进行切换 5Hz。

    我在引脚上连接了一个100k 上拉电阻器。

    绿色 LED 的阴极通过1k 串联电阻连接到引脚=>引脚必须灌入一定的电流(因此逻辑低电平有效)才能激活 LED。

    但引脚始终处于高电平。 即使在 CCS 中设置 GPIO 切换位也没有任何效果。

    3、是的、我们有自己的头文件、因为我们有很多不同的项目、这些项目在240x-DSP 到最新的 piccolos 上已经有几年的历史了、我们重复使用现有的代码。

    此致、

    Marco

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

    我知道该引脚的唯一限制是频率限制、因此您不应该看到这一点。 但是、由于您使用的是自定义头文件、因此从现在开始、我只能指出这是个问题。 仅出于测试目的、您是否可以使用 C2000Ware 中的支持文件来测试此情况? 您可以使用任何 GPIO 示例作为基础。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    弗兰克、

    检查初始化过程并将我们自己的头文件与器件数据表和 C2000Ware 示例进行比较后、我现在可以使用上述初始化过程陈述引脚的正确功能。

    SW 完全正确、但少量焊料确实在硬件的另一个区域中使2个焊盘短路、因此始终将 GPIO 连接到3.3V 电平。

    感谢您的支持。

    此致、

    Marco

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到您的解决方案! 如果您有任何疑问、请告知我们。