OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4155|回复: 3

貌似内存溢出了 怎么办?

[复制链接]

9

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-5-4
在线时间
9 小时
发表于 2014-4-24 20:16:51 | 显示全部楼层 |阅读模式

结构体
typedef struct {
unsigned char cmd; //命令
unsigned char flag; //接收标志

unsigned char add_len;

unsigned char area_add[10]; //区域地址
unsigned char area_num; //区域个数

unsigned char add[60]; //地址
unsigned char add_num; //地址长度

unsigned char message[210]; //数据缓存区
unsigned char message_len; //数据长度
}RE_OPERA;

unsigned char set_ring_time(unsigned char *str, unsigned char mo)
{
unsigned char i;
unsigned char eeadds;

if(mo == COMMON)
{
printf("set_com_time:");
eeadds = COM_ADDS;
for (i = 0; i < RING_NUM_COM * 2; i++)
{ x24c02_write(eeadds, *str);
printf("%d ", *str);
eeadds++;
str++;
}
printf("\r\n");
x24c02_write(eeadds, 0Xfe); //结束标志

delay_ms(500);
get_ring_time(COMMON);
}
else if (mo == TEMPORY)
{
printf("set_tmp_time:");
eeadds = TEMP_ADDS;

for (i = 0; i < RING_NUM_TEMP * 2 + 3; i++)
{ x24c02_write(eeadds, *str);
printf("%d ", *str);
eeadds++;
str++;
}
printf("\r\n");
x24c02_write(eeadds, 0Xfe); //结束标志
delay_ms(500);
// get_ring_time(TEMPORY);
}
return 1;


函数调用 :set_ring_time(&(re_operation.message[1]), COMMON);

结构体是定义的一个全局变量。
printf函数是将fputc函数重定向实现的,使用微库
int fputc(int ch, FILE *f)
{
/* 将 Printf 内容发往串口 */
USART_SendData(USART1, (unsigned char) ch);
while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);
return (ch);

}

是结构体定义得太大吗?求解决啊

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-5-4
在线时间
9 小时
 楼主| 发表于 2014-4-24 20:19:08 | 显示全部楼层
函数完后 貌似内存溢出, 仿真进入 HardFault_Handler
回复 支持 反对

使用道具 举报

9

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2013-5-4
在线时间
9 小时
 楼主| 发表于 2014-4-24 20:54:57 | 显示全部楼层
还是函数参数&(re_operation.message[1])的问题?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-4-24 22:56:24 | 显示全部楼层
回复【3楼】sucaptain:
---------------------------------
仿真看一下,看看执行到哪句出现这个问题。
另外不要同样的问题,发多个帖子!!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-10 06:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表