主题中讨论的其他器件:DK-TM4C123G
大家好、我看到 DK-TM4C123G 启动器焊盘上的 PD6和 PD7有不同的行为、希望有人能够说明原因。 我正在运行附加到这个帖子的代码、这实际上是一个闪烁的示例项目、但没有进行一些微小的修改。当我使用 PD6作为 GPIO 引脚时、我可以看到、当代码运行时、它的输出在高电平和低电平之间切换、 但是、当我将 GPIO 引脚更改为 PD7时、其输出始终保持低电平、原因是什么?
代码如下:
#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
#define SYSCTL_PERIPH_PORT SYSCTL_PERIPH_GPIOD
//
//
//! \addtogroup example_list
//!
Blinky (闪烁)
//!
//! 一个使板载 LED 闪烁的非常简单的示例。
//
//
//
//
//闪烁板载 LED。
//
//
内部
main (空)
{
volatile uint32_t ui32Loop;
//
//启用用于板载 LED 的 GPIO 端口。
//
SysCtlPeripheralEnable (SYSCTL_Periph_port);
//
//检查是否启用了外设访问。
//
while (!SysCtlPeripheralReady (SYSCTL_Periph_port))
{
}
//
//为 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