遇到点问题就是打了电话之后单片机控制不了他挂断电话,SIM模块卡在打电话那里了,以至于单片机后面发的信号他都没执行(我判断是这样),我用串口调试助手调试的时候他是能挂断电话的。
void main()
{
// uint y;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
TR1=1;
REN=1;
SM0=0;
SM1=1;
TI=1;
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
printf("AT\r\n");
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
printf("AT\r\n");
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
printf("AT\r\n");
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
printf("ATD10086;\r\n");
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
printf("ATH\r\n");
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
// while(SBUF!="OK");
delay_ms(1000);
printf("AT+CMGF=1\r\n");
delay_ms(1000);
printf("AT+CSMP=17,167,2,25\r\n");
delay_ms(1000);
printf("AT+CSCS=\"UCS2\"\r\n");
delay_ms(1000);
printf("AT+CMGS=\"00310030003000380036\"\r\n");
delay_ms(1000);
delay_ms(1000);
printf("6D4B8BD5\r\n");
delay_ms(1000);
SBUF=0X1A;
delay_ms(1000);
TI=0;
while(1);
} |