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.

[参考译文] TMS320F280025C:tms320f280025c 中的调试按钮去抖

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1520485/tms320f280025c-debugging-button-debounce-in-tms320f280025c

器件型号:TMS320F280025C
主题: 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);
}
}

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

    您好、Sairaj。

    您的 LED 配置似乎良好。 但是、您的外部按钮配置和注释似乎存在冲突。

    Unknown 说:
    #define BUTTONT_GPIO 42 //将 GPIO24用于自定义按钮(J1.14接头引脚)

    您的整数值定义为42、即 LaunchPad 引脚34。 但是、注释中建议使用 GPIO 24 (42可能是拼写错误、但如果不这样、则会连接到 LaunchPad 引脚44)。

    根据当前代码配置、请确保外部按钮连接到 GPIO42的 引脚34 (请参阅下图、红色框突出显示已识别的引脚):

    此致、

    Ryan