你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
Dylan疾风闪电 发表于 2014-11-19 10:09 先试一下方法2能否解决
wxh0000mm 发表于 2014-11-19 14:04 没解决。现在这个问题 为什么会把结构体去掉 改成全局变量就可以呢?? ...
安 发表于 2014-11-19 14:32 你的结构体怎么定义的?使用的时候如何定义的?
Dylan疾风闪电 发表于 2014-11-19 14:49 按照你现在的描述,应该还是内存不够引起的问题。 可能内存中没有足够的连续空间(块)来分配给这个struct ...
安 发表于 2014-11-19 15:00 这里明显不是超出RAM了.而是被其他的内容冲掉了.
不好用
没解决。现在这个问题 为什么会把结构体去掉 改成全局变量就可以呢??
按照你现在的描述,应该还是内存不够引起的问题。
可能内存中没有足够的连续空间(块)来分配给这个struct。
-------------------------------------------------------------------
我的理解是:结构体变量必定是一组连续的内存地址;单独的全局变量他们的地址不要求连续。
typedef struct
{
uint8_t Flag_Switch;
uint8_t Flag_SwitchAnswer;
uint8_t Flag_Waddr;
uint8_t Flag_Wthistime;
uint8_t Flag_Rstatus;
uint8_t Flag_Raddr;
uint8_t Flag_Rthistime;
uint8_t Flag_Ropentime_random;
uint8_t Flag_Heatcyclestart;//Flag_Apportioncyclestart
uint8_t Flag_Heatcycleend;
uint8_t Flag_Apportioncycle_Wheat;
.
.
.
.
}Flag_InitTypeDef;
使用的时候
if(.....)
Flag_InitStructure.Flag_Heatcycleend=0
if(Flag_InitStructure.Flag_Heatcycleend==0)
{
.
.
.
.
}
这种结构
我定义的RAM 我确定没有超出 我算过了 一共是8K 从0X20000000 到 0X20002000
Total RW Size (RW Data + ZI Data) 1888 ( 1.84kB)
我调试的时候 感觉跟你说的特别像 一开始初始化为0 但是有数据之后 Flag_InitTypeDef结构体里面的内容 就会变成数据
但是 指针还没有超出 接收BUFFER 没有乱指的现象
Flag_InitStructure的定义方式如下
Flag_InitTypeDef Flag_InitStructure;
我说的是这样的,不知道是否正确。这种情况下,分配就会出现问题。