第一章 任务介绍
在本章节,在上一篇闪烁LED灯的基础上,通过按键启动LED闪烁的程序。
第二章 硬件电路分析
研旭DSP28335至尊版一共有两个按键,一个是核心板上的复位按键Reset2,另一个是底板上的自定义功能按键S1。通过查看底板原理图按键模块,S1与GPIO13相连,在S1断开状态下,GPIO13通过上拉电阻与DVDD3.3相连,被置为高电位;当S1闭合后,GPIO13被下拉为低电平。由于S1是机械常开按钮开关,当松开S1后,S1自动会回到断开状态。

S1按键原理图
所以只要GPIO13作为输入检测到低电平,就说明按键被按下,就启动LED闪烁。
第三章 代码解释和测试结果
3.1 代码解释
首先打开GPIO13引脚的输入功能,由于该引脚已经被外部的上拉电阻上拉至高电平,所以这里没有打开它的上拉使能。其他引脚初始化完成后,通过第一层的while(1)死循环不断地判断GPIO13是否检测到低电平,当检测到低电平后,通过延时函数消抖,再次判断是否确实是按下了S1按钮。按键的电压抖动时长不仅和按下按键的动作快慢有关,还具有很强的随机性,在这里,我设置的100ms后再次判断,同