作者:GWD 时间:2019.7.18
一、课程内容,写了一个代码利用定时器中断实现LED小灯0.5S闪烁一次
(一)、S3C2440定时器部分手册分析:
1、
2、
定时器0、1有一个8位分频器,可以有5中不同的分频数,这个数字存储在TCFG0和TCFG1中。
3、
TCNTBn和TCMPBn这两个寄存器,TCNTBn自减,当这两个寄存器中的数值相等时会产生稳定的占空比
4、
每一个定时器都有自己的16位计数器,当到0时,会产生中断,TCNTBn会自动导入值以便下一次操作;
5、
6、
由上图分析,当TCNTn=TCMPn时,TOUT会翻转信号;当TCNT=0时会产生interrupt request和auto-reload。
7、
Timer clk = PCLK / {prescaler value+1} / {divider value}
= 50000000/(99+1)/16
= 31250
8、
9、
10、
TCNTO0是读取当前的计数值。
接下来看手册的十四章节查找中断相关的寄存器
1、
2、
3、
4、
二、代码流程
1、在接口函数中加入定时器中断函数
2、写定时器中断的初始化函数
3、定时器初始化的功能函数
4、在主函数中调用定时器初始化函数