当前位置: 首页 > news >正文

LP-MSPM0G3507学习--04GPIO控制

G3507多达 60个 GPIO,分成两组PA和PB,在LP-MSPM0G3507学习--02建立新工程已经初步学习了GPIO的输出功能,学习了如何配置GPPIO管脚控制LED灯闪烁,下面实现GPIO输入功能,lanchpan有两个按键:

 有2个led:

 现在实现按键S2按下时,led1翻转

led灯设定为PA0,输出,初始值为高(led熄灭),button设为PB21,输入,连接上拉电阻

在工程文件中的compiler include中的ti\mspm0_sdk_2_05_01_00\source\ti\driverlib\mop中有一系列的文件,其中dl_gpio.h是关于GPIO的HAL函数操作的头文件,其中读一个管脚的函数为 DL_GPIO_readPins(GPIO_Regs* gpio, uint32_t pins),写为DL_GPIO_writePins(GPIO_Regs* gpio, uint32_t pins)

#include "ti_msp_dl_config.h"int main(void)
{SYSCFG_DL_init();while (1) {#if 1if (0==DL_GPIO_readPins(Buttons_PORT,Buttons_Button_PIN)) {//有按键按下delay_cycles(320000);//等待10ms,消抖if (0==DL_GPIO_readPins(Buttons_PORT,Buttons_Button_PIN)) {//再次检测DL_GPIO_togglePins(LED_PORT,LED_LED1_PIN);}while(0==DL_GPIO_readPins(Buttons_PORT,Buttons_Button_PIN));//等待按键释放}#elseDL_GPIO_togglePins(LED_PORT,LED_LED1_PIN);delay_cycles(32000000);#endif}
}

可以看出,主循环效率不高,可以采用中断的方式来实现

http://www.dtcms.com/a/286474.html

相关文章:

  • 消息队列 2.RabbitMQ
  • Elasticsearch:ES|QL 改进的时间线
  • [3-02-01].第01章:框架概述 - Spring生态
  • 表单、表格字段,输入完毕后立即点击【保存】,导致数据未更新就被保存
  • 【教程】基于无人机的大豆光合效率研究
  • 赛思SLIC芯片、语音芯片原厂 赛思SLIC语音芯片ASX630:国产强“芯”赋能FTTR全光网络​
  • vscode 一直连不上远程,网络是通的,ssh 也能直接登录远程
  • 【科研绘图系列】R语言绘制分组箱线图
  • SDC Specical check setting的描述 - false path
  • Docker笔记-部署Redis集群
  • leetcode15.三数之和题解:逻辑清晰带你分析
  • AWS(基础)
  • 网络基础10 :ACL真机实验
  • Redis原理之哨兵机制(Sentinel)
  • 【洛谷P1417】烹调方案 题解
  • ONNX模型使用指南:从零开始掌握跨领域模型部署
  • 图片平铺下去总是有个缝隙的解决方案
  • 塞舌尔公司的查册报告Certificate of Official Search是什么?有什么信息
  • 瀚高数据库开启Oracle兼容模块
  • vue2 面试题及详细答案150道(101 - 120)
  • ubuntu20.04使用unity3d做机器人仿真环境搭建
  • Python单例模式详解:从原理到实战的完整指南
  • 详解Linux(Ubuntu/RedHat/CentOS)及国产服务器统一加域管理方案
  • GoC 上册课程
  • java+vue+SpringBoot集团门户网站(程序+数据库+报告+部署教程+答辩指导)
  • docker--程序自启动
  • HIMA X-DO3201模块的冗余配置方法
  • Python Pandas 实践学习笔记(1)
  • Chainlit + FasiAPI+ LlamaIndex 实现RAG(一)
  • 深入解析:短连接 vs 长连接 vs 短轮询 vs 长轮询