zoukankan      html  css  js  c++  java
  • s3c2410 定时器的基本设置

          在嵌入式系统中,我们需要了解3个时钟频率:FCLK. HCLK. PCLK 。

          FCLK :一般来说通过外接12M 的晶振,结合芯片内部锁相环的倍频而得到200M 的FCLK. 作为CPU 的内部时钟。

        HCLK :通过对FCLK 的分频得到,一般取值为FCLK 的一半(100M),主要用于为高速设备(连接至AHB总线上) 提供时钟。

      PCLK :通过对FCLK 的分频得到,一般取值为HCLK 的一半(50M),主要用于为低速设备(连接至APB总线上) 提供时钟。

          另外还有专门为USB 提供时钟的UCLK 。

        定时器属于低速设备,故是通过对PCLK 降频后作为定时器时钟的。s3c2410 共有5个定时器t0-t4, 前四个有外接输出口,可用于对低速外设提供时钟,而t4 没有外部输出口,是仅提供给cpu 内部使用的。其工作原理如下图:

    6217760-adb2b080d38fcea8.png
    图片发自简书App

    那么如何设置和运行一个固定周期的定时器或计时器的呢?

        1、通过设置TCFG0 的bits(15, 8) 来确定第一级分频值(0-255);

        2、 通过设置TCFG1 的bits(19 , 16) 来确定第二级分频值(1/2 ,1/4 ,1/8 ,1/16);

        3、通过设置TCFG1 的bits(23 , 20) 来确定选择中断方式还是DMA方式;

        4、通过设置TCON 的bits(22) 来确定是否开启自动装载被减数。

        5、通过设置TCON 的bits(21) 来手动将TCNTB4 中的被减数装入TCNT4 。完成之后需要将该位清零。

        6、通过设置TCON 的bits(20) 来确定计数器的开始和停止。

    6217760-6f6c4c2d1e5073be.png
    图片发自简书App
  • 相关阅读:
    hdu3486 Interviewe (二分+线段树求区间最值)
    hdu2473 JunkMail Filter(并查集)
    hdu3290 The magic apple tree (dfs)
    hdu2610 Sequence one (dfs) &&hdu2611 Sequence two
    hdu1598 find the most comfortable road (枚举+并查集)
    hdu3635 Dragon Balls
    hdu2821 Pusher
    hdu1558 Segment set
    hdu 2514 Another Eight Puzzle
    url传递中文的解决方案
  • 原文地址:https://www.cnblogs.com/leon1124/p/14039863.html
Copyright © 2011-2022 走看看