stm32内存地址里面的数莫名其妙改变

2019-07-14 18:01发布


请大家帮忙看一下     0X200001C3中的数据     在0X2000018A中   也会出现     但是0X2000018A是一个标志结构体     里面的数据只能等于0或者1

  一到有通讯的时候     revTempBuffer   字符串中的数据  就会传到    0X2000018A地址中  

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
60user127
1楼-- · 2019-07-14 18:49
 精彩回答 2  元偷偷看……
minwayson
2楼-- · 2019-07-15 00:46
堆栈 不够用了? 全局变量使用的是 RAM 局部变量(比如 局部的结构体)使用的是堆栈 如果溢出 会出现覆盖的问题
minwayson
3楼-- · 2019-07-15 01:35
一到有通讯的时候     revTempBuffer   字符串中的数据  就会传到    0X2000018A地址中

检查数组 指针之类的 有没有溢出吧 或者贴上代码
TOPCB
4楼-- · 2019-07-15 03:56
结构体也是全局的吗?另外,看一下MAP文件,这个结构体附近是哪些变量,会不会有溢出的情况。
嘻嘻爱哈哈
5楼-- · 2019-07-15 07:48
1.检查引起异常的因素:指针?RAM全局变量?
2.修改标志结构体限定取值范围 typedef struct xx{uint32 flag_xxx:1;...}yy;来避开异常的产生。
60user127
6楼-- · 2019-07-15 09:54
 精彩回答 2  元偷偷看……

一周热门 更多>