OpenEdv-开源电子网

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

mini开发板 输入捕获实验

[复制链接]

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2014-10-14
在线时间
22 小时
发表于 2015-8-18 21:19:38 | 显示全部楼层 |阅读模式
5金钱
定时器2中断服务函数里面有一句不太明白(拿了部分的):

     if(TIM2CH1_CAPTURE_STA&0x40)         //这里是捕获下降沿
   {
          TIM2CH1_CAPTURE_STA |= 0x80;       //捕获成功标志
          TIM2CH1_CAPTURE_VAL = TIM2->CCR1;   //获取捕获值
          TIM2->CCER &=~(1<<1);                //设置成上升沿捕获,回到初始状态
               // 为什么不能替换成TIM2->CCER |=(0<<1) 或者TIM2->CCER =(0<<1)
      }else                                    //第一次是捕获上升沿
              {
                    TIM2CH1_CAPTURE_VAL=0;
                     TIM2CH1_CAPTURE_STA=0x40;             //捕获到上升沿
                     TIM2->CNT=0;                          //计数器初始化
                     TIM2->CCER |= 1<<1;                   //下降沿初始化
               }
   }
下面这个是替换后的实验结果:


求助原子哥了

最佳答案

查看完整内容[请看2#楼]

回复【4楼】问路: --------------------------------- 嗯,已弄明白了,谢谢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2014-10-14
在线时间
22 小时
 楼主| 发表于 2015-8-18 21:19:39 | 显示全部楼层
回复【4楼】问路:
---------------------------------
嗯,已弄明白了,谢谢
回复

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2013-3-20
在线时间
0 小时
发表于 2015-8-18 21:38:05 | 显示全部楼层
|是或的意思,1|0=1;所以bit1没有清零。TIM2->CCER |=(0<<1);没有对bit1位有什么操作,这种写法只出现在初始化里或者只对该位操作一次,起一个增加阅读性的作用。
路在脚下
回复

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2014-10-14
在线时间
22 小时
 楼主| 发表于 2015-8-18 21:42:21 | 显示全部楼层
回复【2楼】问路:
---------------------------------
那为什么把TIM2->CCER &=~(1<<1)
替换成TIM2->CCER = 0<<1       也还是达不到实验效果的
回复

使用道具 举报

1

主题

13

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2013-3-20
在线时间
0 小时
发表于 2015-8-18 22:10:45 | 显示全部楼层
回复【3楼】Leejasing:
---------------------------------
你直接把输入捕获通道使能位给关了,怎么会有效果呢?
路在脚下
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 07:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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