主题: C2000WARE 中讨论的其他器件
工具/软件:
您好、我正在 TMS320F280025C Launchpad 上工作、我尝试使用一个 GPIO 引脚作为按钮、并尝试使用我作为输入的这个 GPIO 引脚来控制 LED。但我没有得到任何预期的结果。下面是我的代码、请建议进行任何更改。
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "c2000ware_libraries.h"
//
//主要
//
#define LED_GPIO 31 //板载 LED (GPIO0)
#define BUTTONT_GPIO 42 //将 GPIO24用于自定义按钮(J1.14接头引脚)
void main (void)
{
//
//
设备初始化();
//
//禁用引脚锁定并启用内部上拉。
//
device_initGPIO();
//
//初始化 PIE 并清除 PIE 寄存器。 禁用 CPU 中断。
//
interrupt_initModule();
//
//使用指向 shell 中断的指针初始化 PIE 向量表
//服务例程(ISR)。
//
Interrupt_initVectorTable();
//
// PinMux 和外设初始化
//
BOARD_INIT ();
//
// C2000Ware 库初始化
//
C2000Ware_libraries_init();
;
EINT;
ERTM;
GPIO_setPadConfig (LED_GPIO、GPIO_PIN_TYPE_STD);
GPIO_setDirectionMode (LED_GPIO、GPIO_DIR_MODE_OUT);
// GPIO_writePin (LED_GPIO、1);//从 LED 亮起开始
//将 BUTTONT_GPIO 配置为带上拉电阻的输入
GPIO_setPadConfig (Button_GPIO、GPIO_PIN_TYPE_PULLUP);
GPIO_setDirectionMode (Button_GPIO、GPIO_DIR_MODE_IN);
GPIO_setQualificationMode (Button_GPIO、GPIO_QUAL_SYNC);
while (1)
{
//读取当前按钮状态(0 =已按下、1 =已释放)
bool buttonState = GPIO_readPin (button_GPIO);
//如果连接了跳线(低电平)、则关闭 LED
if (buttonState == 0)
{
GPIO_writePin (LED_GPIO、1);
}
否则//跳线未连接(高电平)
{
DEVICE_DELAY_US (5000);
GPIO_writePin (LED_GPIO、0);
}
DEVICE_DELAY_US (5000);
}
}