第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 分钟前
C语言分支与循环深度解析
c语言·开发语言
屁股割了还要学1 小时前
【C语言进阶】柔性数组
c语言·开发语言·数据结构·c++·学习·算法·柔性数组
草莓熊Lotso1 小时前
【LeetCode刷题指南】--有效的括号
c语言·数据结构·其他·算法·leetcode·刷题
☞下凡☜2 小时前
C语言(20250722)
linux·c语言·开发语言
魔力之心2 小时前
C study notes[3]
c语言
zzzzz_ccc3 小时前
AVL树和红黑树的特性以及模拟实现
c语言·数据结构·c++
程序员编程指南4 小时前
Qt 网络编程进阶:WebSocket 通信
c语言·网络·c++·qt·websocket
rolla6 小时前
01.初始C语言
c语言
屁股割了还要学8 小时前
【C语言进阶】一篇文章教会你文件的读写
c语言·开发语言·数据结构·c++·学习·青少年编程
微露清风8 小时前
系统性学习C语言-第二十二讲-动态内存管理
c语言·开发语言·学习