OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
12
返回列表 发新帖
楼主: 正点原子

【ALIENTEK 战舰STM32开发板例程系列连载+教学】第十五章 输入捕获实验

[复制链接]

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2014-12-19 22:41:27 | 显示全部楼层
回复【50楼】青山小树:
---------------------------------
先搞懂我们的例程,再去写自己的代码。
学会自己分析问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-12-17
在线时间
5 小时
发表于 2014-12-23 15:14:35 | 显示全部楼层
虽然原子哥回复的比较晚,不过内容很对。憋的这两天就只能自己看了,然后慢慢的死透的脑洞就一点点开了,嘿嘿。还是谢谢原子哥。
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-8-27
在线时间
12 小时
发表于 2015-1-15 21:24:53 | 显示全部楼层
原子哥,我用这个历程来采集按键的脉冲采集到了,但是采集一个不规则脉冲发生器发生的脉冲时,就采集不到,是怎么回事呢?
看向明天
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-1-15 22:38:44 | 显示全部楼层
回复【53楼】图灵信念:
---------------------------------
峰峰值是多少?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-8-27
在线时间
12 小时
发表于 2015-1-16 10:54:05 | 显示全部楼层
回复【54楼】正点原子:
---------------------------------
7V左右
看向明天
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-1-16 23:02:55 | 显示全部楼层
回复【55楼】图灵信念:
---------------------------------
小心把STM32烧了,STM32 IO的最高电压是5V
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-8-27
在线时间
12 小时
发表于 2015-1-17 14:23:51 | 显示全部楼层
回复【56楼】正点原子:
---------------------------------
哦哦,懂了原子哥,我在问了这个问题后意识到了,做了外围的电路,问题解决了的,谢谢原子哥
看向明天
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-1-25
在线时间
0 小时
发表于 2015-4-4 20:27:50 | 显示全部楼层
对原子哥的main进行了优化,每隔10us增加一次,使用串口2对外发送数据。

int main(void)
{
u32 temp=0;  

  Stm32_Clock_Init(9); //系统时钟设置
uart_init(36,9600); //串口2初始化为9600
delay_init(72);   //延时初始化
  TIM3_PWM_Init(999,72-1);    //不分频。PWM频率=72000/(899+1)=80Khz
  TIM5_Cap_Init(0XFFFF,0); //以1Mhz的频率计数 
  LED0_PWM_VAL=0;
 
    while(1)
{
if(LED0_PWM_VAL>=980)
   LED0_PWM_VAL=0;  
  if(TIM5CH1_CAPTURE_STA&0X80)//成功捕获到了一次高电平
{
temp=TIM5CH1_CAPTURE_STA&0X3F;
temp*=65536; //溢出时间总和
temp+=TIM5CH1_CAPTURE_VAL; //得到总的高电平时间
printf("HIGH:%d us\r\n",temp/72); //打印总的高点平时间
TIM5CH1_CAPTURE_STA=0; //开启下一次捕获
}
  delay_ms(500);
  LED0_PWM_VAL+=10;
}

}





回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2014-3-2
在线时间
2 小时
发表于 2015-4-16 10:55:06 | 显示全部楼层
回复【25楼】smartmen:
---------------------------------
表示有类似问题   不知道你的问题解决没?望赐教
回复 支持 反对

使用道具 举报

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-4-30
在线时间
4 小时
发表于 2015-4-30 21:06:36 | 显示全部楼层
请教一下 这个时间单位为什么是uS呀
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-4-30 22:46:55 | 显示全部楼层
回复【60楼】DREAM1:
---------------------------------
因为1us计数器加1
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2015-4-30
在线时间
4 小时
发表于 2015-5-3 20:41:04 | 显示全部楼层
回复【61楼】正点原子:
---------------------------------
请教一下 为什么1uS计数器加一呀
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-5-5 00:31:24 | 显示全部楼层
回复【62楼】DREAM1:
---------------------------------
因为代码就是这么设计的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2015-3-18
在线时间
3 小时
发表于 2015-5-13 16:15:24 | 显示全部楼层
GPIOA->ODR|=0<<0;                 //PA0 下拉    原子哥,这0位或运算能表示下拉吗?
回复 支持 反对

使用道具 举报

8

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-5-5
在线时间
17 小时
发表于 2015-7-9 15:05:16 | 显示全部楼层
回复【63楼】正点原子:
---------------------------------
原子哥,看到这咨询个问题……我定时器中断10ms进一次,在主函数的while中判断100ms调用一次函数A,函数A执行时间大于100ms,这样我函数A正在执行的时候,会不会被再一次的中断打断?我试过了,这个不的被打断,我理解的是,因为在主函数的while中判断执行的,所以是顺序执行的,所以不会被打断……忘您解答,是这样嘛?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-7-9 22:42:56 | 显示全部楼层
回复【65楼】chengqing:
---------------------------------
 当然可以打断的。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2014-5-5
在线时间
17 小时
发表于 2015-7-10 15:46:08 | 显示全部楼层
回复【66楼】正点原子:
---------------------------------
那这个是不是,只有尽量使其定时调用函数一次的时间大于,函数执行的所需的时间呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-7-10 23:45:05 | 显示全部楼层
回复【67楼】chengqing:
---------------------------------
就是中断处理越短越好。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-7-28
在线时间
0 小时
发表于 2015-7-28 10:40:46 | 显示全部楼层
回复【17楼】正点原子:
--------------------------------之前买的板子没有输入捕获的例程程序,这个程序编译不通过吧?有编译通过的PWM输入捕获程序吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-7-29 00:19:09 | 显示全部楼层
回复【69楼】白开水好烫啊:
---------------------------------
下载我们最新例程。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

omgkiaka 该用户已被删除
发表于 2015-7-29 10:10:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-7-30 22:10:33 | 显示全部楼层
回复【71楼】omgkiaka:
---------------------------------
你可以自己看看这个函数的参数范围。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

omgkiaka 该用户已被删除
发表于 2015-7-31 16:30:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-7-31 23:06:39 | 显示全部楼层
回复【73楼】omgkiaka:
---------------------------------
我不用库函数
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2015-8-8
在线时间
0 小时
发表于 2015-8-11 11:09:33 | 显示全部楼层
请教原子哥一个问题。从输入滤波器和边沿检测器出来的两个TI1FP1、TI1FP2是什么信号,二者是一样的吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
 楼主| 发表于 2015-8-11 23:18:03 | 显示全部楼层
回复【75楼】xiaoma1122:
---------------------------------
是指来自2个pin的输入。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2015-8-8
在线时间
0 小时
发表于 2015-8-12 15:26:16 | 显示全部楼层
回复【76楼】正点原子:
---------------------------------
回复【76楼】正点原子:
---------------------------------
不会吧,TI1FP1、TI1FP2是从同一个滤波器出来的呀,滤波器前面接的是TIMX_CH1.
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2016-4-20
在线时间
4 小时
发表于 2016-7-29 13:57:25 | 显示全部楼层
原子哥,有个问题想问下,我最近在做定时器发pwm波,然后在定时器捕获回来,我用了两种方法,其中一个是开一个溢出中断,数定时器发送的个数,再开一个定时器捕获pwm波,如果数量对上就ok,然后我发现一件事,就是我把定时器开到1m的频率时间就不准,具体方法是中断计数,然后在计数到5M的时候断点进去看,同时手机秒表计时,按理说1M的频率,5M的计数应该是5s完成,可是我用了10s才进入断点~~而在1M的频率下,我发现另一种方法计时会效果好一点,就是直接while里面读寄存器的值,这样计数5m大概只花费6s多一点的时间~~这个怎么回事,难道中断消耗那么大吗,还有我用mdk看了定时器总线的时钟都是72M,为什么定时器频率才1M就会出现这么大的偏差。。。我也尝试了只开一个定时器,用的你的寄存器的那个版本,就是溢出中断里面进去计数,发现到5M还是要10s,难道单纯开一个定时器到1M都不行吗。。。还是哪里设置的问题呢。。希望原子哥能帮忙解答一下
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 22:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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