OpenEdv-开源电子网

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

TPAD程序求助

[复制链接]

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-9
在线时间
0 小时
发表于 2015-4-16 08:54:02 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]if(tpad_default_val>TPAD_ARR_MAX_VAL/2) return 1;[/mw_shl_code]
为什么初始化遇到超过TPAD_ARR_MAX_VAL/2就不正常呢?
是不是因为电路中的电容充电时间最大的计数值一般不会超过100左右,然后TPAD_ARR_MAX_VAL的值非常大,超过一半就不正常了呢?

[mw_shl_code=c,true]while(TIM_GetITStatus(TIM5, TIM_IT_CC2) != RESET)//等待溢出 {[/mw_shl_code] [mw_shl_code=c,true]    if(TIM_GetCounter(TIM5)>TPAD_ARR_MAX_VAL-500)return TIM_GetCounter(TIM5);//超时了,直接返回CNT的值 }; return TIM_GetCapture2(TIM5);[/mw_shl_code]
这个为什么不是得到捕获比较中断源后,直接返回TIM_GetCapture2(TIM5)的值呢?


最佳答案

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

1,因为一般不可能这么大。 2,因为必须知道输入捕获的情况。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-16 08:54:03 | 显示全部楼层
1,因为一般不可能这么大。
2,因为必须知道输入捕获的情况。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-9
在线时间
0 小时
 楼主| 发表于 2015-4-16 13:28:57 | 显示全部楼层
有人知道吗?在线求解答,谢谢
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
32
金钱
32
注册时间
2015-4-16
在线时间
0 小时
发表于 2015-4-16 21:34:07 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-16 22:18:40 | 显示全部楼层
1.是的 ,这个值太大就不正常了,打开 串口,这个值可以打印出来
2.此例程是没有开捕获中断的,因为要多次读取 取平均值,直接通过读取SR判断捕获状态,用中断反而不好操作了
回复

使用道具 举报

7

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2014-5-9
在线时间
0 小时
 楼主| 发表于 2015-4-17 07:33:21 | 显示全部楼层
好的,明白了,谢谢!
回复

使用道具 举报

18

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2015-4-4
在线时间
0 小时
发表于 2015-5-4 15:24:03 | 显示全部楼层
回复【6楼】siwangqixiang:
---------------------------------
我也遇到这个疑惑,但我看完上面原子哥给出的答案还是糊里糊涂的,能说得具体点吗,谢谢
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2020-9-27
在线时间
15 小时
发表于 2020-11-4 09:50:53 | 显示全部楼层
lycreturn 发表于 2015-4-16 22:18
1.是的 ,这个值太大就不正常了,打开 串口,这个值可以打印出来
2.此例程是没有开捕获中断的, ...

TPAD_ARR_MAX_VAL-500        这个值为什么要 -500  呢  有啥依据么
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 15:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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