zoukankan      html  css  js  c++  java
  • pwm计时器

    1 PWM timer定时器与(watchdog差不多)
    2 5个16位的定时器,独立的,其中,NO PIN 没有输出。16表示ffff,和ADC中10表示3FF一样。而寄存器都是32位。(以后6410可能变)
    3 12 M进行了进行了两次分频,一次预分频,一次分频
    公式计时器的频率=PCLK/(预值+1)/分频值
    预值0~255,分值2,4,8,16
    4 寄存器
    TCFG0 15~8 2,3,4
    TCFG1 7~0 0,1(选定时器)
    5 TCON 22 (0对应手动,1对应自动,自动意思是可以执行多次,手动意思只能执行1次)
    21
    20
    21和20互斥 手动:
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X2<<20);
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X1<<20);

    执行结果
    haha
    haha
    haha
    doirq(只出现一次)
    haha
    haha
    haha
    haha
    haha
    haha
    自动:
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X6<<20);
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X5<<20);
    执行的结果表示
    haha
    haha
    haha
    doirq(能一直循环出现)
    haha
    haha
    haha
    doirq
    haha
    haha
    haha
    doirq
    haha
    haha
    6 TCNTB4=0X6000;(往里边放一个数,然后count buf开始递减)
    计算
    12000000/(255+1)/16=2930;这里的分频设置是最小的)
    6000/2930=8秒钟(只需要8秒钟递减完成)
    7 注意TCNT不是一个寄存器,而他的作用是,把值放到down counter,相当于一个双缓冲,这个TCNT值=TCNB里边设置的,但是他不能直接设置。
    TCNTB才是寄存器,他用来设置。

  • 相关阅读:
    elementUI中的loading
    element消息提示封装
    scroll滚动条掩藏
    elment-UI中表头和内容错位
    SpringBoot集成AD域实现统一用户认证
    SpringBoot集成JWT验证方式
    OAuth2.0协议专区-深入介绍
    Alibaba-技术专区-开源项目之Druid数据库监控平台
    SpringBoot-技术专区-Mybatisplus多数据源
    MySQL-技术专区-性能优化速记
  • 原文地址:https://www.cnblogs.com/coding4/p/5604766.html
Copyright © 2011-2022 走看看