strcat函数进入死循环

2019-10-16 07:32发布

[mw_shl_code=c,true]void Check_GPIO_PutMessage(char*num) { char* O1;char* O2;char* O3;char* O4;char* O5; char sbuf[20]={0},sbuf1[200]={0}; char N[12]={0}; uint8_t len,i; for(i=0;i<5;i++) {N[i*2+1]=num[i*2];N[i*2]=num[i*2+1];} N[11]=num[10];N[10]='F'; SendAT_PrintBack( "AT+CMGF=0 ", "OK", sizeof("AT+CMGF=0 "),100); delay_ms(200); strcat(sbuf,"AT+CMGS=35 "); SendAT_PrintBack( sbuf, ">", sizeof(sbuf),100); delay_ms(200); strcat(sbuf1,"0011000D9168"); strcat(sbuf1,N); strcat(sbuf1,"00080014"); strcat(sbuf1,O1);strcat(sbuf1,O2);strcat(sbuf1,O3);strcat(sbuf1,O4);strcat(sbuf1,O5); len=strlen(sbuf1); sbuf1[len]=0x1a; sbuf1[len+1]=0 }[/mw_shl_code] 当我进行单步调试时调试到strcat(sbuf1,N)时程序就进入死循环了,跳到这个死循环void HardFault_Handler(void),我感觉strcat函数用的没错啊,就是简单的链接字符串。实在没搞明白,求大神帮忙啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-10-16 08:22
搞这么多局部变量,死了也不奇怪。
全部放全局数组试试。
zxc503
2楼-- · 2019-10-16 10:41
 精彩回答 2  元偷偷看……
d1z1y2
3楼-- · 2019-10-16 11:30
请教一下大神,char* 01  是什么意思?
shikihane
4楼-- · 2019-10-16 15:25
d1z1y2 发表于 2016-11-23 00:01
请教一下大神,char* 01  是什么意思?

那个是O,不是0
d1z1y2
5楼-- · 2019-10-16 20:06
shikihane 发表于 2016-11-23 09:23
那个是O,不是0

我靠,我蒙了
lylrabbit
6楼-- · 2019-10-16 23:13
strcat(sbuf,"AT+CMGS=35 ");???????????????
C语言里是这么用的?

一周热门 更多>