标题: STM32定时器捕获高电平时间程序 可由这计算频率 [打印本页]

作者: 2983606955    时间: 2021-11-15 09:50
标题: STM32定时器捕获高电平时间程序 可由这计算频率
输入捕获实验
单片机源程序如下:
  1. /*******************************************************************************
  2. --------------------------------------------------------------------------------
  3. * 实 验 名                 : 输入捕获实验
  4. * 实验说明       :
  5. * 连接方式       :
  6. * 注    意                 : 输入捕获驱动在input.c内
  7. *******************************************************************************/

  8. #include "system.h"
  9. #include "SysTick.h"
  10. #include "led.h"
  11. #include "usart.h"
  12. #include "input.h"

  13. /*******************************************************************************
  14. * 函 数 名         : main
  15. * 函数功能                   : 主函数
  16. * 输    入         : 无
  17. * 输    出         : 无
  18. *******************************************************************************/
  19. int main()
  20. {
  21.         u8 i=0;
  22.         long long indata=0;
  23.        
  24.         SysTick_Init(168);
  25.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  //中断优先级分组 分2组
  26.         LED_Init();
  27.         USART1_Init(9600);

  28.         TIM5_CH1_Input_Init(0xffffffff,83);  //以1M频率计数
  29.        
  30.         while(1)
  31.         {
  32.                 if(TIM5_CH1_CAPTURE_STA&0x80) //成功捕获
  33.                 {
  34.                         indata=TIM5_CH1_CAPTURE_STA&0x3f;
  35.                         indata*=0xffffffff; //溢出次数乘以一次的计数次数时间 us
  36.                         indata+=TIM5_CH1_CAPTURE_VAL;//加上高电平捕获的时间
  37.                         printf("高电平持续时间:%lld us\r\n",indata); //总的高电平时间
  38.                         TIM5_CH1_CAPTURE_STA=0; //开始下一次捕获
  39.                 }
  40.                
  41.                 i++;
  42.                 if(i%20==0)
  43.                 {
  44.                         led1=!led1;
  45.                 }
  46.                 delay_ms(10);
  47.         }
  48. }
复制代码
Keil代码下载: 输入捕获实验.7z (330.95 KB, 下载次数: 32)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1