完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RCC->APB1ENR|=1<<1;//tiM3时钟使能
TIM3->ARR=arr; //设定计数器自动重装值//刚好1ms TIM3->SC=psc; //预分频器 7200,得到 10Khz的计数时钟 第二行,第三行,怎么不用|=,而是直接等于,例说STM32怎么基本都位操作。 第三行改成 TIM3->ARR&=0x0000; TIM3->ARR|=arr; 这样行不行,之前的例子中有这样操作的。 例如 WWDG->CFR|=fprer<<7; //PCLK1/4096 再除 2^fprer WWDG->CFR|=1<<9; //使能中断 WWDG->CFR&=0XFF80; WWDG->CFR|=wr; //设定窗口值 |
|
相关推荐
3个回答
|
|
首先,要搞清楚&和|的用意:就是我们要操作一个寄存器的某几位,而不影响该寄存器的其他位的值.
只有在这样的条件下,用&|才是有积极意义的. 你再看看ARR,PSC,这两个寄存器,看看他是否还有其他位用作其他用? 答案是否定的,所以我们给arr,psc赋值的时候,直接赋值即可,因为它不会影响其他位. 如果用你的方法,psc,arr也来个与或,就有点脱裤子放屁的味道了. 那你再想想,我函数里面的一个变量.比如int a; 那我赋值的时候,不也要a&=~xx;a|=xx; 这样很爽么? |
|
|
|
按位与和按位或针对位操作的,整个寄存器赋值可以直接操作,建议楼主去书店看一下一本书,轻松玩转AVR单片机,北航出版的,里面有一节很详细的介绍C的这种位操作~
|
|
|
|
谢谢,
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1632 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1559 浏览 1 评论
985 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1605 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
652浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
522浏览 3评论
539浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
508浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 10:19 , Processed in 0.873436 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号