有关输入捕获的一个问题

2019-10-15 22:43发布

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


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-10-16 03:20
TIM5->CCMR1&=0<<2,你把CCMR1直接给清零了,至于为什么,自己慢慢理解。
lycreturn
2楼-- · 2019-10-16 08:16
LZ对 & | 还是不熟悉,|0,并不会改变CCMR1的值,但是&0就把CCMR1全部位清零了
zhangzx0714
3楼-- · 2019-10-16 10:25
lycreturn 发表于 2016-12-25 20:12
LZ对 & | 还是不熟悉,|0,并不会改变CCMR1的值,但是&0就把CCMR1全部位清零了

这个我明白,我就是不太清楚明明是需要将那几位置0的,为什么置0了之后会导致这样的问题,而且示例程序中那两行程序并没有起到置0的作用
zhangzx0714
4楼-- · 2019-10-16 13:47
 精彩回答 2  元偷偷看……

一周热门 更多>