在做SIM900A与stm8的串口通讯,UATR3与电脑连接,UART1与SIM900连接,用串口调试软件发AT指令,SIM900的返回信息再由UART3返回电脑,在调试时发现,程序中的其他AT指令都可以返回OK值,可是AT+CPBR(查找电话簿)返回值却是ERROR,用串口调试软件直接发AT指令能得到OK值,请教是什么原因。
u8 Read_Adr[10]="AT+CPBR=1\r";// 读电话簿
UART1_SendString(Read_Adr, 10);
Delay(100000);
UART3_SendByte(uart_p);
// u8 Msg1[10] = SMSCMGF;
u8 Msg1[10] = "AT+CMGF=1\r";//选择短信格式 此指令能返回OK
// u8 Msg1[10] = "AT+CPBR=1\r";//如果把上一行的指令替换为此指令,则返回ERROR
UART1_SendString(Msg1, 10);
Delay(100000);
UART3_SendString("normal1\n",8);
以下为调试程序显示,红色部分为程序运行,蓝色部分为由调试软件直接发AT指令 |