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

相关推荐
Larry_Yanan20 小时前
QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
c++·笔记·qt·学习·ui·交互
Rock_yzh21 小时前
AI学习日记——PyTorch深度学习快速入门:神经网络构建与训练实战
人工智能·pytorch·python·深度学习·神经网络·学习
hello kitty w21 小时前
Python学习(10) ----- Python的继承
开发语言·python·学习
CandyU21 天前
C++ 学习 —— 02 - 排序算法
c++·学习·排序算法
~无忧花开~1 天前
CSS学习笔记(二):CSS动画核心属性全解析
开发语言·前端·css·笔记·学习·css3·动画
Shang180989357261 天前
MS2107高性能USB 2.0视频信号和音频采集,支持NTSC/PAL制式,适用于低成本视频采集设备
嵌入式硬件·fpga开发·音视频·硬件工程·信息与通信·dsp开发
浮游本尊1 天前
React 18.x 学习计划 - 第五天:React状态管理
前端·学习·react.js
baole9631 天前
YOLOv4简单基础学习
学习·yolo·目标跟踪
Pluchon1 天前
硅基计划5.0 MySQL 叁 E-R关系图&联合/多表查询&三大连接&子查询&合并查询
开发语言·数据库·学习·mysql
学工科的皮皮志^_^1 天前
网口学习理解
经验分享·笔记·嵌入式硬件·学习·fpga开发·以太网