OpenEdv-开源电子网

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

STM8定时器3输入捕获脉宽,开启了溢出中断和捕获中断,但是两个中断向量不同,要写两个中断服务函数吗?请求原子哥

[复制链接]

68

主题

136

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
金钱
428
注册时间
2014-6-27
在线时间
8 小时
发表于 2015-12-17 23:55:12 | 显示全部楼层 |阅读模式
5金钱

STM8定时器3输入捕获脉宽,开启了溢出中断和捕获中断,但是两个中断向量不同,要写两个中断服务函数吗?

/*******************************************************************************************************
-----TIM3输入捕获
********************************************************************************************************/
void TIM3_capture_Init(u8 psc,u16 arr)
{
  //开TIM3时钟
  CLK_PCKENR1 |= SETBIT6;
  //允许产生更新事件
  TIM3_EGR = 0x01;
  //2M时钟 设定计数时钟的分频,计数周期为1us
  TIM3_PSCR = psc & 0x0F;
  //初始化计数器值,设定自动重载寄存器值
  TIM3_ARRH = arr/256;
  TIM3_ARRL = arr%256;

  TIM3_CCER1 &= 0xFE;//清零TIM1_CCER1中的CC1E位,之后才可配置TIM1_CCMR1
  TIM3_CCMR1 = 0x01;//配置TIM1_CCMR1中的CC1S位为1,CC1通道配置为输入,IC1映射到TI1FP1上
      //无滤波器、无预分频器(捕获输入口上检测到的每一个边沿都触发一次捕获)
  TIM3_CCER1 |= 0x00;
  TIM3_CNTRH = 0x00;//清零计数器高8位
  TIM3_CNTRL = 0x00;//清零计数器低8位  
  TIM3_IER |= 0x03;//CC1IE=1,使能捕获/比较1中断,更新中断
  TIM3_CCER1 |= 0x01;//捕获使能
  TIM3_CR1 |= 0x01;//使能定时/计数器,向上计数
}

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

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-12-18
在线时间
1 小时
发表于 2015-12-18 21:51:57 | 显示全部楼层
这个要分开写2个,不过奇怪楼主为什么不用库函数呢,又方便又容易维护,官方库里有个stm8s_it.c文件里面都给你定义好了,还自己去定义多累啊。。。
回复

使用道具 举报

68

主题

136

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
428
金钱
428
注册时间
2014-6-27
在线时间
8 小时
 楼主| 发表于 2015-12-21 22:27:02 | 显示全部楼层
回复【2楼】dxxdxpdxy:
---------------------------------
资料在哪呢,提供个链接
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-5 05:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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