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输入中断。

相关推荐
盐焗西兰花23 分钟前
鸿蒙学习实战之路 - 应用间链接最佳实践
学习·华为·harmonyos
pengzhuofan24 分钟前
用AI武装你的学习:高效掌握Java新技术的方法论
java·人工智能·学习
代码游侠24 分钟前
复习——线性表
linux·c语言·数据结构·学习·算法
秋深枫叶红31 分钟前
嵌入式第二十九篇——数据结构——树
数据结构·学习·算法·深度优先
学编程的闹钟1 小时前
83【html的换行规则】
学习
伯明翰java1 小时前
Redis学习笔记-Set集合(2)
redis·笔记·学习
jennychary11 小时前
网工学习笔记:loopback 和route id
网络·笔记·学习
承渊政道1 小时前
C++学习之旅【C++基础知识介绍】
c语言·c++·学习·程序人生
nwsuaf_huasir1 小时前
深度学习2-pyTorch学习-第一个神经网络
pytorch·深度学习·学习
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 30--开源电商商城系统项目实战--配置测试环境地址
python·学习·测试工具·pytest