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改变了,
http_recv的地址值也变了。如果把kk变量设置为全局变量,那么就没有这个问题,所以感觉是堆栈大小设置小了
于是网上搜了一下 更改了 Stack_Size EQU 0x00000800 (以前是 0x00000400),但是没有作用,请问这个问题除了设置全局变量以外还有什么方法可以解决呢?谢谢解答!
你那个变量地址跟别的地址越界了吧
一周热门 更多>