重点介绍PWM定时器和中断工作:
S3C6410X中囿5个定时器这些定时器产生内部中断。其中Timer0和Timer1具有PWM功能,而Timer2,3,4没有此功能
PWM具有两种操作模式:自动装载模式,一次触发模式为实现PWM功能,芯片提供了16个功能寄存器这些功能寄存器都连接APB总线。
定时器具有双缓冲特性这样就能在不停止当前定时器操作的情况下,为丅次定时器运行装入新的数值尽管为定时器设置了新数值,但当前的定时操作能够成功完成定时器从TCNTBn读取的值是为下次延时定时用的,并不影响当前定时器的运行当TCNTn减小到0的时候,TCNTBn的值会自动复制到TCNTn中这就是说的自动装载操作。定时器的当前计数值可以从定时计数觀察寄存器中TCNTOn读取如果TCNTn为0且从装载也为0的话则TCNTn不在进行下次操作。
对于PWM 功能要用到寄存器TCMPBn,当递减计数器down-counter的值和比较寄存器TCMPBn的值相同时,定时控制逻辑模块就会改变输出电平因此比较寄存器TCMPBn决定了PWM的输出。
见下一篇:OK6410之蜂鸣器驱动软件分析---PWM定时器和中断