📄 gsmcs.lst
字号:
219 3 }//TEL_temp[18] 读出对方号码
220 2 t=2;
221 2 i=0;
222 2 for(j=15;j<25;j++){
223 3 if((uart_buff[j]==0x22)&&(uart_buff[j+1]==',')&&uart_buff[j+2]==0x22)
224 3 break;
225 3 }
226 2 j=j+3;
227 2 if(uart_buff[j]=='+') j=j+3;
228 2 for(;j<40;j++){
229 3 if(uart_buff[j]==0x22)
230 3 break;
231 3 para_temp[t++]=uart_buff[j];
232 3 TEL_temp[i++]=uart_buff[j];
233 3 }
234 2 TEL_temp[i++]=0x0d ;
235 2 TEL_temp[i++]=0x00 ;
236 2 para_temp[t++]=0x0d;
237 2 para_temp[t++]=0x00;para_temp[t++]=0x00;
238 2
239 2 //---------------手机号码设置-------------
240 2 if((i=strsearch("CHN"))){ // 发中文//有些比较重要的东西你可以存到卡就,重新开机也没有问题
241 3 system_server=SYS_ALARM;
C51 COMPILER V7.06 GSMCS 04/12/2009 16:41:11 PAGE 5
242 3 return;
243 3 }
244 2 else if((i=strsearch("TLA"))){ // 存号码1
245 3 para_temp[0]=0x31;
246 3 para_temp[1]=',';
247 3 Send_AT_Command(PHONE_WRITE); // PHONE_WR// IO_OUT=0;
248 3 system_server=SYS_NUMSAVE; //储存电话号码标志
249 3 return;
250 3 }
251 2 else if((i=strsearch("TLB"))){ // 存号码2
252 3 para_temp[0]=0x32;
253 3 para_temp[1]=',';
254 3 Send_AT_Command(PHONE_WRITE); // PHONE_WR// IO_OUT=0;
255 3 system_server=SYS_NUMSAVE; //储存电话号码标志
256 3 return;
257 3 }
258 2 else if((i=strsearch("TLC"))){ // 存号码3
259 3 para_temp[0]=0x32;
260 3 para_temp[1]=',';
261 3 Send_AT_Command(PHONE_WRITE); // PHONE_WR// IO_OUT=0;
262 3 system_server=SYS_NUMSAVE; //储存电话号码标志
263 3 return;
264 3 }
265 2 else{
266 3 para_temp[0]=(num_tmp1/10)+0x30;
267 3 para_temp[1]=(num_tmp1%10)+0x30;
268 3 para_temp[2]=0x0d;para_temp[3]=0x00;
269 3 Send_AT_Command(SMS_CMGD);
270 3 timer_S_cnt=0;
271 3 // while(timer_S_cnt<10&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
272 3 for(i=10;i<=MAX_TM-3;i++){
273 4 uart_buff[i]=0;
274 4 }
275 3 Send_AT_Command(SIM_ID);
276 3 return;
277 3 }
278 2 }
279 1 }
280
281 void send_sms(){ //发送短信
282 1 uchar j=1,i=1;
283 1 Send_AT_Command(SIM_ID);
284 1 switch(sms_tmp){
285 2 case smss_save: // 发送英文
286 2 TMP_BUF=0;
287 2 do{
288 3 para_temp[TMP_BUF]=TEL_temp[TMP_BUF];
289 3 TMP_BUF++;
290 3 }while( TMP_BUF<=18);
291 2 para_temp[TMP_BUF]=0x00;
292 2 Send_AT_Command(SMS_CMGS);
293 2 j=0;
294 2 para_temp[j++]='S';para_temp[j++]='A';
295 2 para_temp[j++]='V';para_temp[j++]='E';
296 2 para_temp[j++]=':';para_temp[j++]=0x20;
297 2 para_temp[j++]='O';para_temp[j++]='K';
298 2 para_temp[j++]=0x1a;para_temp[j++]=0x0d;
299 2 para_temp[j++]=0x00;para_temp[j]=0x00;
300 2 Send_AT_Command(CMGS_MUB);
301 2 break;
302 2 case smss_break: // 发送问题
303 2 TMP_BUF=0;
C51 COMPILER V7.06 GSMCS 04/12/2009 16:41:11 PAGE 6
304 2 do{
305 3 para_temp[TMP_BUF]=TEL_temp[TMP_BUF];
306 3 TMP_BUF++;
307 3 }while( TMP_BUF<=18);
308 2 para_temp[TMP_BUF]=0x00;
309 2 Send_AT_Command(SMS_CMGS);
310 2 j=0;
311 2 para_temp[j++]='R';para_temp[j++]='F';
312 2 para_temp[j++]='C';para_temp[j++]='h';
313 2 para_temp[j++]='a';para_temp[j++]='n';
314 2 para_temp[j++]='g';para_temp[j++]='e';
315 2 para_temp[j++]=0x1a;para_temp[j++]=0x0d;
316 2 para_temp[j++]=0x00;para_temp[j]=0x00;
317 2 Send_AT_Command(CMGS_MUB);
318 2 break;
319 2 case smss_cab: // 发送问题
320 2 TMP_BUF=0;
321 2 do{
322 3 para_temp[TMP_BUF]=TEL_temp[TMP_BUF];
323 3 TMP_BUF++;
324 3 }while( TMP_BUF<=18);
325 2 para_temp[TMP_BUF]=0x00;
326 2 Send_AT_Command(SMS_CMGS);
327 2 j=0;
328 2 para_temp[j++]='S';para_temp[j++]='y';
329 2 para_temp[j++]='s';para_temp[j++]='t';
330 2 para_temp[j++]='e';para_temp[j++]='m';
331 2 para_temp[j++]='O';para_temp[j++]='K';
332 2 para_temp[j++]=0x1a;para_temp[j++]=0x0d;
333 2 para_temp[j++]=0x00;para_temp[j]=0x00;
334 2 Send_AT_Command(CMGS_MUB);
335 2 break;
336 2 case smss_para: //发送中文
337 2 //0011000D91683118180295F20008A70A8F66670953719669FF01
338 2 Send_AT_Command(SMS_CMGF);
339 2 TMP_BUF=0;
340 2 para_temp[TMP_BUF++]='2'; //短信号码长度,如果每加一个中文,长度加2
341 2 para_temp[TMP_BUF++]='5';
342 2 para_temp[TMP_BUF++]=0x0d;
343 2 para_temp[TMP_BUF++]=0x00;
344 2 para_temp[TMP_BUF++]=0x00;
345 2 Send_AT_Command(SMS_CMGS);
346 2 TMP_BUF=0;
347 2 para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='1';para_temp[TMP_BUF++]='1';
348 2 para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='D';
349 2 para_temp[TMP_BUF++]='9';para_temp[TMP_BUF++]='1';para_temp[TMP_BUF++]='6';para_temp[TMP_BUF++]='8';
350 2 //3118180295F2
351 2 j=0; //发送对方号码
352 2 do{ //动态电话号码
353 3 para_temp[TMP_BUF++]=TEL_temp[j+1];
354 3 para_temp[TMP_BUF++]=TEL_temp[j];
355 3 j=j+2;
356 3 if(TEL_temp[j+1]==0x0d){
357 4 para_temp[TMP_BUF++]='F';
358 4 para_temp[TMP_BUF++]=TEL_temp[j];
359 4 break;
360 4 }
361 3 }while(j<=18);
362 2 //短信格式设备
363 2 para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='8';
364 2 para_temp[TMP_BUF++]='A';para_temp[TMP_BUF++]='0';
365 2 //短信长度、 5个字,10个英文
C51 COMPILER V7.06 GSMCS 04/12/2009 16:41:11 PAGE 7
366 2 para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='A';
367 2 //短信内容
368 2 //53D1 9001 6210 529F FF01 发送成功
369 2 para_temp[TMP_BUF++]='5';para_temp[TMP_BUF++]='3';para_temp[TMP_BUF++]='D';para_temp[TMP_BUF++]='1';
370 2 para_temp[TMP_BUF++]='9';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='1';
371 2 para_temp[TMP_BUF++]='6';para_temp[TMP_BUF++]='2';para_temp[TMP_BUF++]='1';para_temp[TMP_BUF++]='0';
372 2 para_temp[TMP_BUF++]='5';para_temp[TMP_BUF++]='2';para_temp[TMP_BUF++]='9';para_temp[TMP_BUF++]='F';
373 2 para_temp[TMP_BUF++]='F';para_temp[TMP_BUF++]='F';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='1';
374 2 //短信结束符
375 2 para_temp[TMP_BUF++]=0X1A;para_temp[TMP_BUF++]=0X0D;
376 2 para_temp[TMP_BUF++]=0X00;
377 2 Send_AT_Command(CMGS_MUB);
378 2 break;
379 2 //======================发送收到设备开启指令================================================
380 2 default:
381 2 //system_server=SYS_SMSR;
382 2 break;
383 2 }
384 1 system_server=SYS_SMSR;
385 1 receive_count=0;
386 1 AT_Command_Status=COMMAND_WAIT; //设置接收成功标志
387 1 send_count=0xff;timer_S_cnt=0;
388 1 while(timer_S_cnt<15&&(AT_Command_Status==COMMAND_WAIT)){
389 2 if(strsearch("+CMGS:")) break;
390 2 else if(txd_rxd_bit) break;
391 2 // watch_dog_clear;
392 2 }
393 1 para_temp[0]=(num_tmp1/10)+0x30;
394 1 para_temp[1]=(num_tmp1%10)+0x30;
395 1 para_temp[2]=0x0d;
396 1 para_temp[3]=0x00;
397 1 Send_AT_Command(SMS_CMGD);
398 1 timer_S_cnt=0;
399 1 // while(timer_S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
400 1 Send_AT_Command(SIM_ID);
401 1 // IO_OUT=1;
402 1 for(i=0;i<=MAX_TM-2;i++){
403 2 uart_buff[i]=0;
404 2 }
405 1 }
406
407 void Initialize_Model(void){ //初始化 PIN检测
408 1 uchar i;
409 1 IO_IGT=0;
410 1 for(i=0;i<12;i++){//进行初始化,并显示
411 2 Send_AT_Command(TC35_INIT);
412 2 if(uart_buff[1]==0x0d&&uart_buff[0]==0x30){
413 3 chinit=1;
414 3 break;
415 3 }
416 2 if((i%4)==0){
417 3 IO_IGT=1;
418 3 }
419 2 else if((i%2)==0){
420 3 IO_IGT=0;
421 3 }
422 2 timer_S_cnt=0;
423 2 // while(timer_S_cnt<5&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
424 2 }
425 1 if(i>=11){
426 2 chinit=0;
427 2 goto at_eer;
C51 COMPILER V7.06 GSMCS 04/12/2009 16:41:11 PAGE 8
428 2 }
429 1 for(i=0;i<12;i++){
430 2 if(Send_AT_Command(CHECK_PIN)){//如有收到回应进行分析收到的信息,
431 3 uart_buff[receive_count]=0;
432 3 if(strsearch("READY")!=0)
433 3 {chping=1;
434 4 break;}
435 3 }
436 2 timer_S_cnt=0;
437 2 // while(timer_S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
438 2 //LED_INT=~LED_INT;
439 2 }
440 1 if(i>=11){
441 2 chping=0;
442 2 at_eer:
443 2 Send_AT_Command(RESET_TC35);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -