第28篇 基于ARM A9处理器用C语言实现中断<四>

**Q:**可以改变上一期实验工程里红色LED计数的速率吗?

**A:**在按键中断服务程序中使HPS Timer 0停止计数,修改定时器中使用的预设计数值,然后重启定时器;所有的修改都是在按键中断服务程序中完成。主程序和其他代码都不需要变动。

修改之后实现的功能是:按下KEY0会使count变量递增或保持不变。当按下KEY1后,count递增的速度加倍;按下KEY2后,count递增的速度减半。

修改过的程序烧录到DE1-SoC开发板后,相比上一期的实验新实现的功能现象:

  • 按KEY1,计数速度加倍:第一次按下KEY1,计数值每隔0.125秒递增,第二次按下KEY1,计数值每隔0.0625秒递增;
  • 按KEY2,计数速度减半:第一次按下KEY2,计数值每隔0.5秒递增,第二次按下KEY2,计数值每隔1秒递增。
相关推荐
浩皓素6 小时前
深入理解For循环及相关关键字原理:以Python和C语言为例
c语言·python
小贾要学习8 小时前
【C语言】贪吃蛇小游戏
c语言·开发语言·游戏
人类恶.8 小时前
C 语言学习笔记(函数2)
c语言·笔记·学习
yanjiee13 小时前
Cursor无法使用C/C++调试的解决办法
c语言·开发语言·c++·vscode
菜菜why14 小时前
esp32课设记录(五)整个项目开源github
c语言·esp32
liulangrenaaa15 小时前
C语言实现android/linux按键模拟
android·linux·c语言
菜菜why15 小时前
esp32课设记录(三)mqtt通信记录 附mqtt介绍
c语言·esp32·嵌入式软件
@Turbo@15 小时前
【QT】类A和类B共用类C
c语言·网络·qt
Wythzhfrey16 小时前
单片机Day11
c语言·单片机·嵌入式硬件·学习·51单片机
使者大牙17 小时前
【C语言基础语法入门】通过简单实例快速掌握C语言核心概念
c语言·开发语言