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.

[参考译文] CCS/TM4C123GH6PM:TM4C123 Launchpad GPIO 问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/590251/ccs-tm4c123gh6pm-tm4c123-launchpad-gpio-issue

器件型号:TM4C123GH6PM
主题中讨论的其他器件:TM4C123

工具/软件:Code Composer Studio

您好!  

我有多个 TM4C123 LaunchPad。 我在 CCS 中编写了一个代码、使用 端口 C 引脚4、5、6、7驱动4个 LED。  

问题是使用一个 Launchpad 时、所有4个 LED 都能正常工作。 但是、如果我更改 launchpad、则 LED 不会亮起。  

我使用万用表进行检查、在工作的 Launchpad 上、我将在端口 C 引脚上获得3V3电压、但在另一个 LaunchPad 上、我将获得0V 电压。  

代码如下:

int main (空)

SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);

SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinTypeGPIOOutput (GPIO_Porta_base、GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);

while (1)

GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5、0xFF);
// GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_4、GPIO_PIN_4);
SysCtlDelay (2000000);
GPIOPinWrite (GPIO_Porta_base、GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5、0);
SysCtlDelay (2000000);

为什么会发生这种情况?

可以做些什么来使第二个 LaunchPad 引脚正常工作??

此致

Praveen

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

    Praveen、

    如果这是您的所有代码、即使是第一个 Launchpad 也无法正常工作:您未启用端口 C

    对于任何外设、在使用外设之前、始终需要执行一些配置任务:

    • 在系统控制级别启用相关外设
    • 配置与其关联的引脚
    • 如果是 GPIO、则配置管脚

    我假设您已下载 Tivaware、对吧? 请看一下闪烁的示例、尤其是对于配置。

    请再次查看 Tivaware 驱动程序手册 GPIO 一章、并了解 GPIO 函数的参数作用。 特别是关于 GPIOWrite、您需要注意以下3个方面:您控制哪个端口、修改哪些引脚以及在这些引脚上需要什么值。 作为一项附加练习、请尝试了解参数0xFF 也能满足您的需求、但这并不是真正的最佳方法(提示:尝试使用一条命令行打开和关闭两个 LED)。

    此致

    布鲁诺

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

    很抱歉、发布了错误的代码。 这是为端口 C 编写的实际代码

    int main (空)

    SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);

    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);
    GPIOPinTypeGPIOOutput (GPIO_PORTC_BASE、GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);

    while (1)

    GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7、0xFF);
    SysCtlDelay (2000000);
    GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7、0);
    SysCtlDelay (2000000);



    我使用的是 TIvAware 2.1.3。
    上述代码在一个 LaunchPad 上有效、但在另一个 LaunchPad 上无效。

    此致
    Praveen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来更好。
    在这种情况下、您的硬件存在问题。
    -您的代码是否在目标板上运行(您可以对其进行调试吗?)
    -您可以在不同的端口中测试 LED,还是测试其他 GPIO?
    -您是否检查了 Launchpad 上的所有跳线?
    此致
    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Bruno、

    通过测试、
    代码在板上运行正常。 我能够对其进行调试。 我还尝试过其他外设、它们工作正常。
    端口 A 和端口 D 引脚工作正常。
    但端口 C 和端口 E 引脚无法正常工作。
    跳线与在工作板和在工作板上连接到不工作板的跳线相同。

    此致
    Praveen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Praveen、
    您的引脚短路或 MCU 的那一侧烧坏了...
    此致
    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Bruno、

    使用闪存编程器可以通过擦除闪存并转储上述文件来恢复这些引脚吗?

    此致
    Praveen