[STM8] PCA捕获问题?

[复制链接]
4020|7
 楼主| cosxpeach 发表于 2010-4-28 10:04 | 显示全部楼层 |阅读模式
请问香主STM8 TIME1 捕获的时候 第一次捕获的时间是不是不准啊?

小弟用TIME2产生方波 ,用TIME1的一个通道去捕获,单步调试的时候就第一次不准,并且差的很远,后面捕获的就都是准的。。是什么问题啊?
香水城 发表于 2010-4-28 10:49 | 显示全部楼层
第一次捕获的时间也应该是准的。

有可能是你在初始化时没有清除所有的标志位。
 楼主| cosxpeach 发表于 2010-4-28 11:49 | 显示全部楼层
这是TIME1的初始化,这里面还要清那么标志位,复位后不都已经清除了吗?麻烦帮我看下
void tim1_inti(void)
{
  TIM1_PSCRH=0X00;          /*2分频*/
        TIM1_PSCRL=0X07;       
        TIM1_CCMR1|=0X01;         /*IC1映射在TI1FP1上*/
        TIM1_CCER1&=0Xfd;         /*捕获发生在TI1F的上升沿*/
        TIM2_ARRH   = 0x27;
                TIM2_ARRL   = 0x10;           /* Freq control register: ARR             */
        TIM2_PSCR   = 0x03;           /* Configure TIM2 prescaler =1            */
        TIM1_CCER1|=0X01;        /*使能捕获*/
        TIM1_CR1   |=0X01;           /*使能计数器*/
        TIM2_CR1   |= 0x01;
        TIM2_IER   |= 0x01;
        TIM1_IER=0x02;           //允许捕获中断
}
CrazyST 发表于 2010-4-29 19:45 | 显示全部楼层
会不会是读的顺序读错了?
火箭球迷 发表于 2010-4-30 08:52 | 显示全部楼层
有可能
baidudz 发表于 2010-4-30 09:51 | 显示全部楼层
很有可能是初始化时没有清除所有的标志位。
CrazyST 发表于 2010-5-27 16:34 | 显示全部楼层
来个软件更新事件
dj狂人 发表于 2014-5-15 22:05 | 显示全部楼层
香水城 发表于 2010-4-28 10:49
第一次捕获的时间也应该是准的。

有可能是你在初始化时没有清除所有的标志位。 ...

第一次是不准的,两次的数据想减才是我们需要的数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

54

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部