OpenEdv-开源电子网

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

有关输入捕获的一个问题

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2016-12-3
在线时间
25 小时
发表于 2016-12-25 18:51:45 | 显示全部楼层 |阅读模式
5金钱
各位大神大家好,我在做输入捕获实验的时候遇到个问题,就是会出现无论按没按键,都会一直显示高电平是65536,把我的函数和原子哥的函数进行对比,发现有一句不太一样,就是捕获初始化函数中这样一句:原子哥写的是TIM5->CCMR1|=0<<10,我觉得有点问题,因为这个用的是通道1,而且置0应该用&吧,所以就改成了TIM5->CCMR1&=0<<2,然后结果就出现了这样的问题,高电平一直显示65536,然后我把这一句注销掉,发现一切正常,非常奇怪,请问是什么原因呢?是不是因为我改的有问题,或者这句话根本就没有必要存在,但是确实要把预分频器置为00啊,一下午时间纠结在这个问题上,郁闷死了。大家可以试一试,就是战舰输入捕获实验,实验10,寄存器版本,这一句话的问题,谢谢各位大神,谢谢谢谢


不正常显示

不正常显示

注销掉这一句

注销掉这一句

之后便一切正常

之后便一切正常

最佳答案

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-12-25 18:51:46 | 显示全部楼层
TIM5->CCMR1&=0<<2,你把CCMR1直接给清零了,至于为什么,自己慢慢理解。
回复

使用道具 举报

3

主题

2165

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5773
金钱
5773
注册时间
2013-11-22
在线时间
1211 小时
发表于 2016-12-25 20:12:31 | 显示全部楼层
LZ对 & | 还是不熟悉,|0,并不会改变CCMR1的值,但是&0就把CCMR1全部位清零了
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2016-12-3
在线时间
25 小时
 楼主| 发表于 2016-12-25 20:57:00 | 显示全部楼层
lycreturn 发表于 2016-12-25 20:12
LZ对 & | 还是不熟悉,|0,并不会改变CCMR1的值,但是&0就把CCMR1全部位清零了

这个我明白,我就是不太清楚明明是需要将那几位置0的,为什么置0了之后会导致这样的问题,而且示例程序中那两行程序并没有起到置0的作用
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2016-12-3
在线时间
25 小时
 楼主| 发表于 2016-12-25 21:13:48 | 显示全部楼层

谢谢原子哥,一下点透我了,明白问题在哪了,确实是吧CCMR1置0了,还有问题就是那几位是需要置0的,示例程序中那两行程序并没有起到置0的作用啊,那要那两行是不是没有作用了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 11:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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