你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 8420|回复: 8

【求助】STM8S103FP6的TIM2的捕获功能

[复制链接]

1

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-7-12 15:13:26 | 显示全部楼层 |阅读模式
 想用STM8S103FP6的TIM2的捕获功能测仪方波的脉宽,但每次采集回来的数都是0。
///////////////////////////////////TIM2初始化///////////////////////////////////////////
void Tim2_Init(void)
{  
    TIM2_DeInit();
    TIM2_TimeBaseInit(TIM2_PRESCALER_8, 0x0000);
    TIM2_ICInit(TIM2_CHANNEL_1, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV1, 0x00);
    TIM2_ITConfig(TIM2_IT_CC1, ENABLE);
    TIM2_ARRPreloadConfig(ENABLE);
    enableInterrupts();
    TIM2_Cmd(ENABLE); 
}
/////////////////////////////////TIM2中断//////////////////////////////////////////////
 INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14)
 {
  /* In order to detect unexpected events during development,
     it is recommended to set a breakpoint on the following instruction.
  */  
      TIM2_ClearITPendingBit(TIM2_IT_CC1);   
      TCS_OK;
      yz=TIM2_GetCapture1();
      i++;
      if(i==0xff)
      {
          i=0;
      }   
 }
/////////////////////////////main函数中UART发送部分///////////////////////////////////
UART1_SendData8(yz/256);
UART1_SendData8(yz%256);


 
回复

使用道具 举报

24

主题

514

回帖

6

蝴蝶豆

金牌会员

最后登录
2019-4-8
发表于 2014-7-13 13:31:34 | 显示全部楼层

RE:【求助】STM8S103FP6的TIM2的捕获功能

没玩过stm8,研究了半小时也没看明白出现什么问题,哎,失败
回复 支持 反对

使用道具 举报

16

主题

560

回帖

1

蝴蝶豆

金牌会员

最后登录
2020-6-25
发表于 2014-7-13 13:37:48 | 显示全部楼层

RE:【求助】STM8S103FP6的TIM2的捕获功能

//捕获状态
//[7]:0,没有成功的捕获;1,成功捕获到一次.
//[6]:0,还没捕获到低电平;1,已经捕获到低电平了.
//[5:0]:捕获低电平后溢出的次数
u8  TIM2CH2_CAPTURE_STA=0;        //输入捕获状态                    
u16        TIM2CH2_CAPTURE_VAL;        //输入捕获值
//定时器2捕获中断服务函数
INTERRUPT_HANDLER(TIM2_UPD_OVF_IRQHandler,TIM2_UPD_OVF_VECTOR)
{  
u8 tsr;
static u8 led;
tsr=TIM2->SR1;
        if((TIM2CH2_CAPTURE_STA&0X80)==0)//还未成功捕获       
{
if(tsr&0X01)//溢出
{             
if(TIM2CH2_CAPTURE_STA&0X40)//已经捕获到高电平了
{
if((TIM2CH2_CAPTURE_STA&0X3F)==0X3F)//高电平太长了
{
TIM2CH2_CAPTURE_STA|=0X80;//标记成功捕获了一次
TIM2CH2_CAPTURE_VAL=0XFFFF;
}else TIM2CH2_CAPTURE_STA++;
}          
}             
        }
LED1_SET(led=!led);
TIM2->SR1&=~(1CCR2H;//获取当前的捕获值.
TIM2CH2_CAPTURE_VALCCER1|=1CNTRL=0;         //计数器清空
TIM2CH2_CAPTURE_STA=0;         //清空
TIM2CH2_CAPTURE_VAL=0;
TIM2CH2_CAPTURE_STA|=0X40;         //标记捕获到了下降沿
         TIM2->CCER1&=~(1
回复 支持 反对

使用道具 举报

23

主题

195

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2014-7-17 16:56:09 | 显示全部楼层

RE:【求助】STM8S103FP6的TIM2的捕获功能

初始化模块检查下
回复 支持 反对

使用道具 举报

2

主题

295

回帖

0

蝴蝶豆

初级会员

最后登录
2018-4-6
发表于 2014-7-20 18:26:47 | 显示全部楼层

RE:【求助】STM8S103FP6的TIM2的捕获功能

参考下http://www.amobbs.com/thread-5513154-1-1.html
回复 支持 反对

使用道具 举报

0

主题

11

回帖

0

蝴蝶豆

初级会员

最后登录
2019-12-27
发表于 2015-5-29 11:24:21 | 显示全部楼层
我用TIM2_CH2也是捕获都是0,还有TIM2_CH1为什么有2个IO都有PD4和PC5,捕获是随便用一个就可以吗
回复 支持 反对

使用道具 举报

2

主题

4

回帖

0

蝴蝶豆

新手上路

最后登录
2016-4-11
发表于 2016-4-9 18:40:00 | 显示全部楼层
yangjiawei1223 发表于 2015-5-29 11:24
我用TIM2_CH2也是捕获都是0,还有TIM2_CH1为什么有2个IO都有PD4和PC5,捕获是随便用一个就可以吗 ...

你解决了吗?我也是使用PD3(TIM2CH2)进不了中断
回复 支持 反对

使用道具 举报

0

主题

1277

回帖

30

蝴蝶豆

金牌会员

最后登录
2020-7-4
发表于 2016-4-9 20:58:48 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2020-3-7
发表于 2018-5-9 15:13:12 | 显示全部楼层
INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14)
INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13)
这两个TIM2中断函数不一样哦
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版