关于发送同一个数据,前后不一致的问题

2019-07-20 03:16发布

又遇到一个问题,就是用32 printf同一个数据,前后不一致。请看程序我的目的能就是读出flash的ID号,然后将其输出来,正确的ID号应该是ef4018,根据LED变红我读出ID是正确的。可是我只用一个printf最高位的e就没有了,就是只能得到ef4018;
我仔细看过,我定义的FLASHID是32位的,应该能存下这24位的。后来一直修改中发现只要连续输出两次,第二次就可以输出正确。我怀疑是不是因为我定义FLASH_ID是I0页就是volitile型,第一次读出的因为硬件bug传输不及时的原因,才会造成前后两次数据不一致。于是简单的定义成uint_32t形式,结果还是这样只有连续输出两次时,第二次才可以输出正确。


大家有过类似的情况吗,或者是有什么想法吗?等待原子哥的第三次帮助O(∩_∩)O!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
edmund1234
1楼-- · 2019-07-20 05:45
 精彩回答 2  元偷偷看……
m2967154
2楼-- · 2019-07-20 11:42
edmund1234 发表于 2019-3-16 22:57
试试把" "改为 " "

谢谢帮助!!!但是这对第一次输出好像没有影响吧
m2967154
3楼-- · 2019-07-20 13:17
 精彩回答 2  元偷偷看……

一周热门 更多>