OpenEdv-开源电子网

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

【讨论】输入捕获实验,我发现一个现象。不知道是不是bug

[复制链接]

21

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2013-8-22
在线时间
1 小时
发表于 2013-12-30 22:45:04 | 显示全部楼层 |阅读模式


我在将原子哥的输入捕获实验烧进开发板后,进行测试。我如果长时间按住key-up键后,会出现如上图的4194303(最大值)  换成16进制3FFFFF    
原子哥写的main函数里面

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; 
}

如果
TIM5CH1_CAPTURE_STA   的低6位满足为1,TIM5CH1_CAPTURE_VAL为最大值FFFF的话 就可以实现上述情况。



那我们再看一下下面的程序,应该可以得知是先捕获一个上升沿后,将TIM_SetCounter(TIM5,0);   即清零计数器。这样的话如果高电平持续时间很长的话,那么测量值就不对了哦!

if (TIM_GetITStatus(TIM5, TIM_IT_CC1) != RESET) 
{
if(TIM5CH1_CAPTURE_STA&0X40)  
{  
TIM5CH1_CAPTURE_STA|=0X80;  
TIM5CH1_CAPTURE_VAL=TIM_GetCapture1(TIM5);
  TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Rising);  
}
else    
{
TIM5CH1_CAPTURE_STA=0;  
TIM5CH1_CAPTURE_VAL=0;
TIM_SetCounter(TIM5,0);
TIM5CH1_CAPTURE_STA|=0X40;  
  TIM_OC1PolarityConfig(TIM5,TIM_ICPolarity_Falling);  
}    
}           
  }




爱我所爱!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-12-30 23:17:25 | 显示全部楼层
回复【楼主位】陈晓琳:
---------------------------------
试试寄存器版本的代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2013-8-22
在线时间
1 小时
 楼主| 发表于 2014-1-2 16:01:54 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
还是不行。
爱我所爱!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-1-2 22:50:51 | 显示全部楼层
回复【3楼】陈晓琳:
---------------------------------
这个是正确的结果.
3FFFFF=64*65536
64=0X3F+1.
这就是我们代码所能测量高电平的极限.
如果你还有更长的,那么你把代码修改一下,TIM5CH1_CAPTURE_STA用更多的位去统计溢出时间,就可以实现.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

215

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2013-9-23
在线时间
4 小时
发表于 2015-1-16 15:19:17 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥,就是说假如真的发生强制捕获,高电平最多表示为4194303us,超出部分舍弃掉不计算吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

1

主题

215

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2013-9-23
在线时间
4 小时
发表于 2015-1-19 10:10:58 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
了解,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-26 20:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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