TMS320F280049学习4:GPIO输入检测

我爱普洱茶  金牌会员 | 2024-6-22 22:26:03 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 520|帖子 520|积分 1560

TMS320F280049学习4:GPIO输入检测


  

前言

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

  1. #include "driverlib.h"
  2. #include "device.h"
  3. #define DRV_LED2_PIN                        23
  4. #define DRV_BUTTON_PIN                      11
  5. #define DELAY_MS(MS)                        DEVICE_DELAY_US((long double)MS * 1000)
  6. /*******************************************************************************
  7. * 函 数 名         : led_init
  8. * 输    入         : 空
  9. * 输    出         : 空
  10. * 函数功能         : LED初始化
  11. * 详细描述         : 空
  12. *******************************************************************************/
  13. void led_init(void)
  14. {
  15.     //设置GPIO模式
  16.     GPIO_setPadConfig(DRV_LED2_PIN, GPIO_PIN_TYPE_STD);
  17.     //设置GPIO方向
  18.     GPIO_setDirectionMode(DRV_LED2_PIN, GPIO_DIR_MODE_OUT);
  19. }
  20. /*******************************************************************************
  21. * 函 数 名         : button_init
  22. * 输    入         : 空
  23. * 输    出         : 空
  24. * 函数功能         : 按钮初始化
  25. * 详细描述         : 空
  26. *******************************************************************************/
  27. void button_init(void)
  28. {
  29.     //设置GPIO模式
  30.     GPIO_setPadConfig(DRV_BUTTON_PIN, GPIO_PIN_TYPE_PULLUP);
  31.     //设置GPIO方向
  32.     GPIO_setDirectionMode(DRV_BUTTON_PIN, GPIO_DIR_MODE_IN);
  33. }
  34. /*******************************************************************************
  35. * 函 数 名         : main
  36. * 输    入         : 空
  37. * 输    出         : 空
  38. * 函数功能         : 主函数
  39. * 详细描述         : 空
  40. *******************************************************************************/
  41. void main(void)
  42. {
  43.     //初始化时钟和外设
  44.     Device_init();
  45.     //解锁GPIO配置
  46.     Device_initGPIO();
  47.     led_init();
  48.     button_init();
  49.     //初始化PIE并清空PIE寄存器,关闭CPU中断
  50.     Interrupt_initModule();
  51.     //初始化PIE向量表
  52.     Interrupt_initVectorTable();
  53.     //使能中断
  54.     EINT;
  55.     //使能调试事件
  56.     ERTM;
  57.     while(1)
  58.     {
  59.         GPIO_writePin(DRV_LED2_PIN, !GPIO_readPin(DRV_BUTTON_PIN));
  60.         DELAY_MS(10);
  61.     }
  62. }
复制代码
总结

下一步,GPIO输入中断。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表