TMS320F280049学习4:GPIO输入检测

TMS320F280049学习4:GPIO输入检测

文章目录


前言

DSP的内部输入上拉是弱上拉,上拉后的电压只有2.1V左右,需要外部加上拉电阻,具体参考这篇文章

一、工程代码

c 复制代码
#include "driverlib.h"
#include "device.h"

#define DRV_LED2_PIN                        23
#define DRV_BUTTON_PIN                      11
#define DELAY_MS(MS)                        DEVICE_DELAY_US((long double)MS * 1000)

/*******************************************************************************
* 函 数 名         : led_init
* 输    入         : 空
* 输    出         : 空
* 函数功能         : LED初始化
* 详细描述         : 空
*******************************************************************************/
void led_init(void)
{
    //设置GPIO模式
    GPIO_setPadConfig(DRV_LED2_PIN, GPIO_PIN_TYPE_STD);
    //设置GPIO方向
    GPIO_setDirectionMode(DRV_LED2_PIN, GPIO_DIR_MODE_OUT);
}

/*******************************************************************************
* 函 数 名         : button_init
* 输    入         : 空
* 输    出         : 空
* 函数功能         : 按钮初始化
* 详细描述         : 空
*******************************************************************************/
void button_init(void)
{
    //设置GPIO模式
    GPIO_setPadConfig(DRV_BUTTON_PIN, GPIO_PIN_TYPE_PULLUP);
    //设置GPIO方向
    GPIO_setDirectionMode(DRV_BUTTON_PIN, GPIO_DIR_MODE_IN);
}

/*******************************************************************************
* 函 数 名         : main
* 输    入         : 空
* 输    出         : 空
* 函数功能         : 主函数
* 详细描述         : 空
*******************************************************************************/
void main(void)
{
    //初始化时钟和外设
    Device_init();
    //解锁GPIO配置
    Device_initGPIO();

    led_init();
    button_init();

    //初始化PIE并清空PIE寄存器,关闭CPU中断
    Interrupt_initModule();
    //初始化PIE向量表
    Interrupt_initVectorTable();
    //使能中断
    EINT;
    //使能调试事件
    ERTM;

    while(1)
    {
        GPIO_writePin(DRV_LED2_PIN, !GPIO_readPin(DRV_BUTTON_PIN));
        DELAY_MS(10);
    }
}

总结

下一步,GPIO输入中断。

相关推荐
白慕慕14 小时前
文档网站大全
学习
一轮弯弯的明月16 小时前
Python基础-速通秘籍(下)
开发语言·笔记·python·学习
charlie11451419118 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux
wsx_iot19 小时前
TDengine学习
数据库·学习·tdengine
AI成长日志19 小时前
【笔面试算法学习专栏】二分查找专题:力扣hot100经典题目深度解析
学习·算法·面试
m0_5649149221 小时前
AI学习课堂网站丨OPENMAIC丨清华团队开源项目
学习
开源盛世!!21 小时前
3.26-3.27学习笔记
笔记·学习
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列7--相关Python基础知识6
python·学习·测试工具·pytest
山川行1 天前
Python快速闯关8:内置函数
java·开发语言·前端·笔记·python·学习·visual studio
charlie1145141911 天前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(2) —— HAL 库获取、启动文件坑位与目录搭建
linux·开发语言·c++·stm32·单片机·学习·嵌入式