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

相关推荐
我的xiaodoujiao26 分钟前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
IT古董2 小时前
【MES学习笔记系列】MES 厂商与产品对比
笔记·学习
wangyue_msn_863 小时前
Agent知识学习笔记——03 RAG
笔记·学习·ai编程
呱呱巨基3 小时前
Linux 查找命令
linux·笔记·学习·查找命令
zhangrelay4 小时前
ROS 2 Lyrical 第4章 URDF机器人建模与Gazebo Garden仿真
linux·笔记·学习·ubuntu·机器人·ros2
Dave1205465 小时前
AI Agent学习 Day14:LangGraph进阶 —— 条件分支、Tool Node与Memory持久化
人工智能·学习
red_redemption6 小时前
自由学习记录(214)
学习
祈禾8 小时前
计算机组成原理之编译、汇编、链接、解释
开发语言·汇编·笔记·学习
知识分享小能手8 小时前
线性代数学习教程,从入门到精通,矩阵的初等变换与线性方程组(6)
学习·线性代数·矩阵
我命由我123459 小时前
四流一致(合同流、业务流、资金流、发票流)
经验分享·学习·职场和发展·求职招聘·职场发展·产品经理·学习方法