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

LP-MSPM0G3507学习--04GPIO控制

关键函数:

  • DL_GPIO_readPins(GPIO_Regs* gpio, uint32_t pins):同时读一组端口
  • DL_GPIO_writePins(GPIO_Regs* gpio, uint32_t pins):同时写一组端口
  • DL_GPIO_setPins(GPIO_Regs* gpio, uint32_t pins):对指定某组端口的某管脚置高
  • DL_GPIO_clearPins(GPIO_Regs* gpio, uint32_t pins):对指定某组端口的某管脚置低
  • DL_GPIO_togglePins(GPIO_Regs* gpio, uint32_t pins):对指定某组端口的某管脚翻转

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.xdnf.cn/news/15869.html

相关文章:

  • 磁悬浮转子不平衡质量的高精度控制:从原理到实战
  • 一文讲清楚React的render优化,包括shouldComponentUpdate、PureComponent和memo
  • Android音视频探索之旅 | Webrtc 1对1音视频通话核心流程分析
  • 借助AI学习开源代码git0.7之三git-init-db
  • YOLO演变史(一)
  • CSS样式中的布局、字体、响应式布局
  • CMakeLists.txt 配置文件
  • 非线性优化相关库笔记
  • 【面试题】大厂高压面经实录丨第二期
  • @Qualifier(“beanName“) 详解
  • 一个逻辑问题
  • 《设计模式之禅》笔记摘录 - 8.命令模式
  • Day06_C语言网络编程20250718mobus重点
  • gin数据解析和绑定
  • 门控线性单元GLU (Gated Linear Unit)
  • Go语言流程控制(if / for)
  • 一小时学习Redis
  • websocket案例 599足球比分
  • 海森矩阵(Hessian Matrix)在SLAM图优化和点云配准中的应用介绍
  • 实战指南|智慧无人机安防系统搭建全流程解析
  • 深入理解Linux文件操作:stdin/stdout/stderr与C语言文件函数全解析
  • PDF 拆分合并PDFSam:开源免费 多文件合并 + 按页码拆分 本地处理
  • 突破性量子芯片问世:电子与光子首次集成,开启量子技术规模化应用新篇章
  • 暑期自学嵌入式——Day05补充(C语言阶段)
  • 二分答案之第 K 小/大
  • Visual Studio编译WPF项目生成的文件介绍
  • 服务器mysql数据的简单备份脚本
  • 二、Dify 版本升级教程(LInux-openeuler)
  • iOS OC 图片压缩
  • vue2 面试题及详细答案150道(101 - 120)