keil stm32f407 无操作系统 堆栈溢出怎么办

2019-07-20 21:13发布

stm32裸跑     
static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t err)
在http编程中,在上述函数中增加了一个局部变量u32 kk=0;
但是在函数中多次进行.... else if ((strncmp(data, "POST /checklogin.cgi",20)==0)  这样的判断以后(大约5次),kk值就写不进去了,函数的参数err值突然就从0改变了,
QQ截图20160719170734.jpg
http_recv的地址值也变了。如果把kk变量设置为全局变量,那么就没有这个问题,所以感觉是堆栈大小设置小了
于是网上搜了一下 更改了   Stack_Size      EQU     0x00000800   (以前是 0x00000400),但是没有作用,请问这个问题除了设置全局变量以外还有什么方法可以解决呢?谢谢解答!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。