OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3236|回复: 1

输入捕获实验例程主函数中这几句程序什么意思啊》

[复制链接]

82

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-10-16
在线时间
72 小时
发表于 2015-11-29 20:55:55 | 显示全部楼层 |阅读模式
5金钱
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
 
/************************************************
 ALIENTEK战舰STM32开发板实验10
 输入捕获实验  
 技术支持:www.openedv.com
 淘宝店铺:http://eboard.taobao.com 
 关注微信公众平台微信号:"正点原子",免费获取STM32资料。
 广州市星翼电子科技有限公司  
 作者:正点原子 @ALIENTEK
************************************************/

extern u8  TIM5CH1_CAPTURE_STA; //输入捕获状态    
extern u16 TIM5CH1_CAPTURE_VAL; //输入捕获值
 int main(void)
 {
  u32 temp=0; 
delay_init();     //延时函数初始化  
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
  LED_Init();     //LED端口初始化
 
  TIM3_PWM_Init(899,0); //不分频。PWM频率=72000/(899+1)=80Khz
  TIM5_Cap_Init(0XFFFF,72-1); //以1Mhz的频率计数 
    while(1)
{
  delay_ms(10);
TIM_SetCompare2(TIM3,TIM_GetCapture2(TIM3)+1);

if(TIM_GetCapture2(TIM3)==300)TIM_SetCompare2(TIM3,0);
 
  if(TIM5CH1_CAPTURE_STA&0X80)//成功捕获到了一次上升沿
{
temp=TIM5CH1_CAPTURE_STA&0X3F;
temp*=65536;//溢出时间总和
temp+=TIM5CH1_CAPTURE_VAL;//得到总的高电平时间
printf("HIGH:%d us\r\n",temp);//打印总的高点平时间
TIM5CH1_CAPTURE_STA=0;//开启下一次捕获
}
}
 }

这两句怎么解释啊?例程中TIM_GetCapture2(TIM5)是用来读取捕获到下降沿后TIM5的值以用于最后捕获时间的计算,拿着了的TIM3用了是什么作用?

最佳答案

查看完整内容[请看2#楼]

http://www.openedv.com/posts/list/39948.htm不知道这个是不是你要找的答案
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-11-29 20:55:56 | 显示全部楼层
http://www.openedv.com/posts/list/39948.htm不知道这个是不是你要找的答案
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-16 03:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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