第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秒递增。
相关推荐
0xCode 小新34 分钟前
【C语言内存函数完全指南】:memcpy、memmove、memset、memcmp 的用法、区别与模拟实现(含代码示例)
linux·c语言·人工智能·深度学习·机器学习·容器·内存函数
无限进步_1 小时前
【C语言】计算两个整数二进制表示中不同位的个数
c语言·开发语言
K 旺仔小馒头2 小时前
【代码的暴力美学】-- C语言基础编程题_2
c语言·开发语言·刷题
GilgameshJSS12 小时前
STM32H743-ARM例程9-IWDG看门狗
c语言·arm开发·stm32·单片机·嵌入式硬件·学习
Hello_Embed12 小时前
STM32 智能垃圾桶项目笔记(一):超声波模块(HC-SR04)原理与驱动实现
c语言·笔记·stm32·单片机·嵌入式软件·嵌入式项目
菠萝地亚狂想曲12 小时前
极简文件列表
c语言
wdfk_prog14 小时前
[Linux]学习笔记系列 -- lib/sort.c 通用的排序库(Generic Sorting Library) 为内核提供标准的、高效的排序功能
linux·运维·c语言·笔记·stm32·学习·bug
shark_dev14 小时前
C/C++ 指针详解与各种指针定义
c语言·c++
钮钴禄·爱因斯晨16 小时前
数据结构|图论:从数据结构到工程实践的核心引擎
c语言·数据结构·图论
yanqiaofanhua17 小时前
C语言自学--自定义类型:结构体
c语言·开发语言·算法