野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20792|回复: 0

指南者通用定时器

[复制链接]
发表于 2019-12-19 17:14:41 | 显示全部楼层 |阅读模式
在定时器通用例程上面做了一个修改,测试一个20ms的脉宽,可是测试出来最低就是0.1S。
        while ( 1 )
        {
                if(TIM_ICUserValueStructure.Capture_FinishFlag == 1)
                {

                        // 计算高电平时间的计数器的值
                        time = TIM_ICUserValueStructure.Capture_Period * (GENERAL_TIM_PERIOD+1) +
                               (TIM_ICUserValueStructure.Capture_CcrValue+1);
                        printf ( "\r\n捕获寄存器的值:%d \r\n",time );
                        // 打印高电平脉宽时间
                        printf ( "\r\n测得高电平脉宽时间:%d.%d s\r\n",time/TIM_PscCLK,time%TIM_PscCLK );

                        TIM_ICUserValueStructure.Capture_FinishFlag = 0;                       
                }       
              else{
                        SOFT_DELAYON;
                GENERAL_TIM_CH1_EN_ON;
                        SOFT_DELAY;
                        GENERAL_TIM_CH1_EN_OFF;       
                }               
        }

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 06:48 , Processed in 0.037756 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表