【OK210试用体验】裸机篇 -- PWM定时器
本帖为S5PV210的PWM定时器简单实验。
具体的PWM资料可参考官方datasheet -- S5PV210_UM_REV1.1 中的sections 07_TIMER。
S5PV210共有5个32bit的PWM定时器,其中定时器0、1、2、3有PWM功能,定时器4没有输出引脚。
S5PV210的PWM定时器的相关I/O:
对于定时器,当然需要对时钟的配置,具体的配置可看帖子或者看datasheet的system章的CLOCK节。在S5PV210的PWM TIMER中有介绍到时钟的相关情况还有计算等:
程序编写思路
配置PWM TIMER,新增timer_init部分,对于interrupt部分的作用还是很重要,是根基。
配置思路:
1. 计算定时器的输入时钟:Timer Input Clock Frequency = PCLK / ( {prescaler value + 1} ) / {divider value}
2. 设置预分频系数
3. 设置TCON
4. 装载TCNTB、TCMPB0
5. 使能中断 TINT_CSTAT
在main.c中 在中断服务程序中- // timer0中断的中断处理函数
- void irs_timer()
- {
- unsigned long uTmp;
- //清timer0的中断状态寄存器
- uTmp = TINT_CSTAT;
- TINT_CSTAT = uTmp;
-
- // 打印中断发生次数
- printf("Timer0IntCounter = %d rn",counter++);
-
- // vic相关的中断清除
- intc_clearvectaddr();
- }
实验现象