STM32得库函数中(HAL和LL库都有),存在一个__IO得宏定义
volatile得含义为
允许硬件改变变量得数值
我来解释一下
假如我们定义一个变量
而这个变脸得地址,我们利用attribute((at(ADDR)));这个功能将Outer_Flash_ADDR将定义的Flash_Num变量数据存入了外部扩展flash中。
这时,突然!有一个外部得设备,用硬件得方式把Flash_Num地址中存储得变量给更改了!!!我们这时还想知道更改后得数据是啥。
但是,悲剧发生了,我们用软件读出来得变量数值竟然毫无变化!
因为软件只能读软件改变得变量,读不出来硬件改变得变量,呐怎么办呐????
这时候你只需要在定义变量前加一个__IO
瞬间就成功读出来了~~~
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/5529.html