完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
关于 LL_AHB1_GRP1_EnableClock,在函数中设置位后,将其读取为“tmprg”并转换为 void 类型。读书的理由是什么?
__STAtiC_INLINE void LL_AHB1_GRP1_EnableClock(uint32_t 外设) { __IO uint32_t tmpreg; SET_BIT(RCC->AHBENR, Periphs); /* 启用 RCC 外设时钟后的延迟 */ tmpreg = READ_BIT(RCC->AHBENR, Periphs); (无效)tmpreg; } |
|
相关推荐
1个回答
|
|
这是因为在参考手册中指出,时钟验证后需要稍等片刻才能生效。
这样做的方法是再次读取寄存器。这样我们就可以确定寄存器中的写入是有效的(没有被总线之间的多个桥延迟)并且在使用它之前时钟已经启动。 这里使用的方法有点粗糙,因为不需要将读取结果存储在 volatile 变量中。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2733 浏览 1 评论
3241 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1810 浏览 1 评论
3650 浏览 6 评论
6038 浏览 21 评论
1339浏览 4评论
201浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
443浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
274浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:44 , Processed in 1.167235 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号