完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
首先说 这个 _IO 的来源,他是在 Core_cm3.h 中重定义的,基本类型就是 volatile ,那么这个 volatile 这个关键词的本意是 易变的,也就是说,可能会发生多次变化,其实 也就是你告诉了编译器 这个变量 是多变的,那么编译器就不会进行优化编译,而且,处理这个变量时 会直接从 变量地址读取
评分
|
||
|
||
将军问鼎 发表于 2017-11-23 20:20 Delay变量每次从内存中读取或者从CPU寄存器中读取对这个函数没有影响吧。 |
|
|
|
大神来解决。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
|
|
Delay这个形参加volatile修饰应该不是你这个意思,因为在函数里面这个值没有做过修改,就算编译器优化为从CPU寄存器中读取也没有问题。 |
|
|
|
同意1楼的解析
|
|
|
|
他说的那句话没错,但是没有回答我的疑问,Delay作为形参,在函数里面并没有修改它的值,所以从内存或者寄存器操作该变量应该没有什么区别。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
238 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
734 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1128 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1600 浏览 1 评论
538 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 01:34 , Processed in 0.857584 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号