通过S3C2440内部的定时器,可以产生稳定的定时器中断,示例程序为每0.5s产生一次中断,在中断中循环点亮小灯。
首先,S3C2440内部的定时器运行示意图如下:
每来一个时钟脉冲,TCNTn的计数值就会减1。从定时器操作示意图可以看出,只在TCNTn降到0时,才发生中断,在TCNTn = TCMPn时,可以发生输出引脚输出变化,这可以用来输出不同占空比的PWM波。
定时器的时钟源是PCLK,PCLK经过8位的预分频和多路选择器,将时钟供给定时器。
设置Timer主要就步骤:
- 设置时钟;
- 设置初值;
- 加载初值,启动timer;
- 设置为自动加载;
- 设置中断相关。
具体的寄存器操作,查看S3C2440第十章的寄存器操作即可。本次实验比较简单,就不做详细介绍。