找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1588|回复: 0
打印 上一主题 下一主题
收起左侧

STM32定时器捕获高电平时间程序 可由这计算频率

[复制链接]
跳转到指定楼层
楼主
ID:811102 发表于 2021-11-15 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
输入捕获实验
单片机源程序如下:
  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, 下载次数: 30)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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