5116|7

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

stm8tim1cc3配置为俘获输入cc4比较输出 [复制链接]

各位求助:

  我用stm8的time1,其中CC3配置为俘获输入(遥控码接受),CC4配置为PWM输出,结果只要写入ARRH,ARRL时,就只能输出PWM,遥控码不能接收, 好像时基改变了,俘获值不对,无法识别遥控码:
程序如下:

//TIM1_CC1用做REMOTE input capture
TIM1_CCER2&=0xfe;    //捕获关
TIM1_CCMR3=0x01;     //输入捕获
    TIM1_PSCRH=0x00;     //分频,决定计数单位 fCK_PSC/( PSCR[15:0]+1)=8M/16=2us
    TIM1_PSCRL=0x0f;
    //TIM1_CNTRH = 0;   
   // TIM1_CNTRL = 0;
    TIM1_CCER2|=0x02;      ///下降沿
    TIM1_CCER2|=0x01;  ///使能捕获
    TIM1_IER|=0x08;      //允许中断
    //TIM1_CR1_CEN=1;         //使能time1
   
TIM1_CCMR4=0x60;  //PWM MODE1 输出
  TIM1_ARRH=0x00;   
TIM1_ARRL=0x28;         //12.5k=80us=2usx40
TIM1_CCR4H=0x00;
TIM1_CCR4L=0x14;        //duty cycle=CCR/ARRx100
TIM1_CCER2|=0x10;        //输出使能
TIM1_BKR|=0x80;
  TIM1_CR1_CEN=1;
请帮忙
此帖出自stm32/stm8论坛

最新回复

                                 嘿嘿,理论上确实是可以,但你要把理论搞懂才可以实现,一知半解当然就不可以,  详情 回复 发表于 2010-8-11 11:55
点赞 关注
 

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 是的,不能这么用;除非你知道输入捕获和PWM模式的原理。
此帖出自stm32/stm8论坛
 
 

回复

93

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
                                 不提倡这么用,很容易出问题的
此帖出自stm32/stm8论坛
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 规格书明确说明time1 的四个通道可以单独配置为输入,PWM输出等功能,理论上是可以的啊
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 这么用可以,但是你得先弄清输入捕获和PWM模式的原理
此帖出自stm32/stm8论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

6
 
                                 非常感谢楼上两位的回复, 理论上这应该是可以,否则tim1有四个通道没有意义,硬件已定,只能用tim3作定时器,专门为cc4口服务输出IR遥控码了,郁闷。。。。。。。。
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
非常感谢楼上两位的回复, 理论上这应该是可以,否则tim1有四个通道没有意义,硬件已定,只能用tim3作定时器,专门为cc4口服务输出IR遥控码了,郁闷。。。。。。。。 ...
没错,理论上确实是可以,所以我说你要知道输入捕获和PWM模式的原理。

简单地说,当你只做捕获输入时,计数器是从0x0000计数到0xFFFF,所以你的捕获值的范围是0x0000~0xFFFF。

但当你使用PWM输出时,配置了ARRH和ARRL,此时计数器的计数是从0x0000计数到ARRH和ARRL对应的数值,然后再从0x0000开始,如果捕获值超出了0x0000~ARRH:ARRL的范围,当然会出错。

解决的办法是,在每次计数器溢出并重复计数时,有一个溢出中断,你要在溢出中断中做计数,然后在捕获成功时把溢出次数补偿到捕获结果中。
此帖出自stm32/stm8论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 嘿嘿,理论上确实是可以,但你要把理论搞懂才可以实现,一知半解当然就不可以,
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表