野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11674|回复: 3

测量脉宽库求助

[复制链接]
发表于 2016-7-23 18:15:05 | 显示全部楼层 |阅读模式
我是大二的学生,最近在看野火的测量脉宽的库,但是还是没头绪,想请大家帮忙看下
1、主函数
     int main(void)
    {
        uint32_t ulTmrClk, ulTime;
        USARTx_Config ();                                                                     
        LED_Init ();                                                                        
        TIMx_Capture_Init ();                                                                 
        printf ( "\r\n STM32输入捕获实验 \r\n" );
        printf ( "\r\n按下K1 测量按下K1的时间\r\n" );
        ulTmrClk = BSP_CPU_ClkFreq() / macTIM_Prescaler;                                      
        while ( 1 )
        {
                if ( strCapture .ucFinishFlag == 1 )                                                
                {
                        ulTime = strCapture .usPeriod * macTIM_Period + strCapture .usCtr;              
                        printf ( "\r\n测的高电平脉宽时间:%d.%d s\r\n", ulTime / ulTmrClk, ulTime % ulTmrClk );
                        strCapture .ucFinishFlag = 0;
                }
        }
   }
2、根据野火库的用法,我认为单纯看现象的话直接烧入开发板就可以了,但是mini板PA0没有引出来,所以我改了IO,既然改了IO,就要根据定时器改变通道,可以这样下载进去后还是不行
     显示的情况一直是:测的高电平脉宽时间: 0.0 s   我想知道到底是我不会用还是这样改不对,我改的.h文件如下,就改了IO和通道名
     #define             macTIMx                                           TIM5                 
     #define             macTIM_APBxClock_FUN                   RCC_APB1PeriphClockCmd      
     #define             macTIM_CLK                                     RCC_APB1Periph_TIM5
     #define             macTIM_Period                                 0xFFFF                  
     #define             macTIM_Prescaler                              72                        
     #define             macTIM_GPIO_APBxClock_FUN         RCC_APB2PeriphClockCmd      
     #define             macTIM_GPIO_CLK                           RCC_APB2Periph_GPIOA
     #define             macTIM_INPUT_PORT                      GPIOA
     #define             macTIM_INPUT_PIN                         GPIO_Pin_2
     #define             macTIM_Channel_x                          TIM_Channel_3              
     #define             macTIM_IT_CCx                               TIM_IT_CC3
     #define             macTIM_OCxPolarityConfig               TIM_OC1PolarityConfig
     #define             macTIM_GetCapturex_FUN               TIM_GetCapture1
     #define             macTIM_OCxPolarityConfig_FUN       TIM_OC1PolarityConfig
     #define             macTIMx_IRQn                                 TIM5_IRQn
     #define             macTIM_INT_FUN                             TIM5_IRQHandler
     #define             macTIM_STRAT_ICPolarity                TIM_ICPolarity_Rising      
     #define             macTIM_END_ICPolarity                    TIM_ICPolarity_Falling   

    谢谢大家了!
回复

使用道具 举报

发表于 2016-7-23 18:37:09 | 显示全部楼层
如果PA2是通道3的话,这些函数都要改吧

   #define             macTIM_OCxPolarityConfig               TIM_OC1PolarityConfig
     #define             macTIM_GetCapturex_FUN               TIM_GetCapture1
     #define             macTIM_OCxPolarityConfig_FUN       TIM_OC1PolarityConfig
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-23 19:16:52 | 显示全部楼层
随风 发表于 2016-7-23 18:37
如果PA2是通道3的话,这些函数都要改吧

   #define             macTIM_OCxPolarityConfig              ...

谢谢,按照您的修改,下载进去确实可以测得高电平脉冲时间,但是我不大会用,但我还是不明白那个数怎么去使用和K1是什么
回复 支持 反对

使用道具 举报

发表于 2016-7-23 19:29:52 | 显示全部楼层
兔比楠波万 发表于 2016-7-23 19:16
谢谢,按照您的修改,下载进去确实可以测得高电平脉冲时间,但是我不大会用,但我还是不明白那个数怎么去 ...

K1是指开发板的按键1吧?开发板的k1是接到PA0的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 17:17 , Processed in 0.035912 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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