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.

[参考译文] TM4C123GH6PGE:有关 DK-TM4C123G 启动器垫上 Blinky 示例项目的问题

Guru**** 2468610 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/674752/tm4c123gh6pge-question-on-blinky-example-project-on-dk-tm4c123g-launcher-pad

器件型号:TM4C123GH6PGE
主题中讨论的其他器件:DK-TM4C123G

大家好、我在 DK-TM4C123G 启动器垫上运行闪烁示例代码、运行了一个奇怪的问题。 首先、为了避免混淆、 原始示例代码在此启动器焊盘板上正常运行、没有任何问题、当我将 GPIO 引脚更改为 PD7时、我的代码出现 FaultISR 错误。 是否有人能解释造成这种情况的原因? 以下是我的代码(在示例项目上没有细微更改):

"

#include
#include
#include "inc/hw_memmap.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"

#define TEST_GPIO_PORT GPIO_PORTD_BASE
#define TEST_GPIO_PIN GPIO_PIN_7

//
//
//! \addtogroup example_list
//!

Blinky (闪烁)


//!
//! 一个使板载 LED 闪烁的非常简单的示例。
//
//

//
//
//闪烁板载 LED。
//
//
内部
main (空)

volatile uint32_t ui32Loop;

//
//启用用于板载 LED 的 GPIO 端口。
//
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOG);

//
//检查是否启用了外设访问。
//
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOG))

//
//为 LED 启用 GPIO 引脚(PG2)。 将方向设置为输出、然后
//启用 GPIO 引脚以实现数字功能。
//
GPIOPinTypeGPIOOutput (TEST_GPIO_PORT、TEST_GPIO_PIN);

//
//永久循环。
//
while (1)

//
//打开 LED。
//
GPIOPinWrite (TEST_GPIO_PORT、TEST_GPIO_PIN、TEST_GPIO_PIN);

//
//延迟一位。
//
for (ui32Loop = 0;ui32Loop < 200000;ui32Loop +)

//
//关闭 LED。
//
GPIOPinWrite (TEST_GPIO_PORT、TEST_GPIO_PIN、0);

//
//延迟一位。
//
for (ui32Loop = 0;ui32Loop < 200000;ui32Loop +)



"

谢谢!

Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    例如、如果我更改为在上述代码中使用 PG3 GPIO 线路、则没有问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我已经弄清楚了由我的更改中的错误导致的问题、所以我现在要关闭这个主题、谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Richard Chen75"] SysCtlPeripheralEnable (SYSCTL_Periph_GPIOG);[/引用]

    对那些感兴趣的人来说——陈先生的代码输入了可怕的“ 故障 ISR” ,因为他 的“更改为 PD7” 不包括正确的“SysCtlPeripheralEnable()”——针对 PORT_D…… 不在 PORT_G -正如他的代码所揭示的那样。

    请注意、(另一个)问题"使用 PD7时出现问题"-在他的第二个(密集)帖子中详述了该问题-它也解决了!