我要实现的功能是我给GPRS模块发送一个AT+CSQ指令然后模块会返回一个值例如 +CSQ: 28,0 我要取出整型的28和0 我有问题的代码如下 void Get_CSQ(char *pCSQ) { char tmp[2]; printf("ATE0\r\n"); while(0==URT_STA); USART_RX_STA=0; Delay_Ms(2000); Delay_Ms(2000); Delay_Ms(2000); Delay_Ms(2000); Delay_Ms(2000); Delay_Ms(2000); printf("AT+CSQ\r\n"); /* 等待GPRS模块反馈数据 */ while(0==URT_STA) { TTY_BUFF[USART_RX_STA&0X3F]=USART_RX_BUF[USART_RX_STA&0X3F]; } /* 初始化串口接收中断标志 */ USART_RX_STA=0; Delay_Ms(2000); substr(tmp,(char *)TTY_BUFF,6,2); pCSQ[0]=atoi(tmp); pCSQ[1]=0; } pCSQ[0] 手动等于28能正常输出,但是pCSQ[0]=atoi(tmp);输出为0, TTY_BUFF里面的内容为:TTY_BUFF[64]={'+','C','S','Q',':','\x20','2','8',',','0'}; 谁能说说怎么回事或者谁有更好的取法 谢谢! |
RE:求各位大神来看看我的代码!求解决一个棘手问题 【悬赏问答】
RE:求各位大神来看看我的代码!求解决一个棘手问题 【悬赏问答】
RE:求各位大神来看看我的代码!求解决一个棘手问题 【悬赏问答】
还可以直接把TTY_BUFF的第六位用串口发出来看看。
RE:求各位大神来看看我的代码!求解决一个棘手问题 【悬赏问答】
RE:求各位大神来看看我的代码!求解决一个棘手问题 【悬赏问答】