📄 serial1.lst
字号:
419 }
420 DiZh_TX_is_over_B=0; //抢到标志,处暑、延时100MS再发, 串间隔
421 os_wait2(K_TMO, 50); //100ms
422
423 }
424
425 */
426
C51 COMPILER V7.50 SERIAL1 06/10/2007 23:11:20 PAGE 8
427 //==============================w2812837@163.com=================================================
428
429
430
431
432 //等待得到控制权
433 //等待得到控制权
434 //只有得到权限才能更新缓冲区数据
435
436 /*
437 void Get_Fa_Key_buffer_Right( )
438 { xdata uchar ttt=0;
439
440 while(KEY_TX_is_over_B==0) { //TX所完标志位,没发完再发时要等待
441 os_wait2(K_TMO, 50); //100ms
442 if(ttt++>90) //延时5秒 到也认为发送有空
443 break;
444 }
445 KEY_TX_is_over_B=0; //抢到标志,处暑、延时100MS再发, 串间隔
446 os_wait2(K_TMO, 50); //100ms
447
448 }
449 */
450 /**********************************************************************
451 **函数原型: void Fa_Key_buffer(uint Lenthg)
452 **入口参数: 无
453 **出口参数: 无
454 **返 回 值: 无
455 **说 明: 将KEY_TX_Buff[]发送子程序。
456 // 发送入口,TX_Len:所发送的字节数
457 // KEY_TX_Buff[]: 发送缓冲区
458 // TxIe=1;
459 // KEY_TX_cnt=0; 100MS 串间隔
460 ************************************************************************/
461 void Fa_Key_buffer(uint Lenthg)
462 {
463 1
464 1 // En_FA_485; // if use 485 ic
465 1
466 1
467 1 KEY_TX_cnt=0;
468 1 KEY_TX_Len=Lenthg; //TX_LEN发送前置好数值
469 1
470 1 if(bUartBusy==0){ //判断发送中断是否处于激活状态,若没有激活则:
471 2 SCON1|=2; //TI=1; //激活MCU的串口发送程序
472 2 bUartBusy=1; //置发送程序已经激活的标志
473 2 }
474 1
475 1
476 1 }
477 //==============================w2812837@163.com=================================================
478
479
480
481
482 /**********************************************************************
483 **函数原型: void Fa_F76_buffer(uint Lenthg)
484 **入口参数: 无
485 **出口参数: 无
486 **返 回 值: 无
487 **说 明: 将F76_TX_Buff[]发送子程序。
488 // 发送入口,TX_Len:所发送的字节数
C51 COMPILER V7.50 SERIAL1 06/10/2007 23:11:20 PAGE 9
489 // F76_TX_Buff[]: 发送缓冲区
490 // TxIe=1;
491 // F76_TX_cnt=0; 100MS 串间隔
492 ************************************************************************/
493 void Fa_F76_buffer_0xee0xee(uchar Fun,uchar *Poit,uint Lenthg) reentrant
494 {
495 1 uchar i,j;
496 1
497 1 //Get_Fa_F76_buffer_Right( );
498 1 //Clr_F76_RX_Buff();
499 1 F76_RX_cnt=0;
500 1 Xin_F76_RX_B=0;
501 1 //En_FA_485shou; // if use 485 ic
502 1
503 1
504 1 F76_TX_Buff[0]=0xEE;;
505 1 F76_TX_Buff[1]=0xEE;
506 1 F76_TX_Buff[2]=Fun ;
507 1 F76_TX_Buff[3]=Lenthg;
508 1 for(i=0;i<Lenthg;i++) {
509 2 F76_TX_Buff[4+i]=*Poit++;
510 2 }
511 1 F76_TX_Buff[4+i]=0;
512 1 j=0;
513 1 for(j=0;j<(Lenthg+2);j++)
514 1 F76_TX_Buff[4+i]+= F76_TX_Buff[j+2];
515 1 F76_TX_Buff[4+i+1]=0xab;
516 1
517 1
518 1
519 1
520 1 F76_TX_cnt=0;
521 1 F76_TX_Len=Lenthg+6; //TX_LEN发送前置好数值
522 1
523 1 if(bUartBusy==0){ //判断发送中断是否处于激活状态,若没有激活则:
524 2 SCON1|=2; //TI=1; //激活MCU的串口发送程序
525 2 bUartBusy=1; //置发送程序已经激活的标志
526 2 }
527 1
528 1
529 1 }
530 //==============================w2812837@163.com=================================================
531
532
533
534
535 /**********************************************************************
536 **函数原型: void Fa_F76_buffer(uint Lenthg)
537 **入口参数: 无
538 **出口参数: 无
539 **返 回 值: 无
540 **说 明: 将F76_TX_Buff[]发送子程序。
541 // 发送入口,TX_Len:所发送的字节数
542 // F76_TX_Buff[]: 发送缓冲区
543 // TxIe=1;
544 // F76_TX_cnt=0; 100MS 串间隔
545 ************************************************************************/
546 void Fa_F76_buffer(uchar Fun,uchar *Poit,uint Lenthg) reentrant
547 {
548 1 uchar i,j;
549 1
550 1 //Get_Fa_F76_buffer_Right( );
C51 COMPILER V7.50 SERIAL1 06/10/2007 23:11:20 PAGE 10
551 1 //Clr_F76_RX_Buff();
552 1 F76_RX_cnt=0;
553 1 Xin_F76_RX_B=0;
554 1 //En_FA_485shou; // if use 485 ic
555 1
556 1 i=0;
557 1 F76_TX_Buff[0]=0xEE;;
558 1 F76_TX_Buff[1]=0xEE;
559 1 F76_TX_Buff[2]=Fun ;
560 1 F76_TX_Buff[3]=Lenthg;
561 1 for(i=0;i<Lenthg;i++) {
562 2 F76_TX_Buff[4+i]=*Poit++;
563 2 }
564 1 F76_TX_Buff[4+i]=0;
565 1 j=0;
566 1 for(j=0;j<(Lenthg+2);j++)
567 1 F76_TX_Buff[4+i]+= F76_TX_Buff[j+2];
568 1 F76_TX_Buff[4+i+1]=0xab;
569 1
570 1
571 1
572 1
573 1 F76_TX_cnt=0;
574 1 F76_TX_Len=Lenthg+6; //TX_LEN发送前置好数值
575 1
576 1 if(bUartBusy==0){ //判断发送中断是否处于激活状态,若没有激活则:
577 2 SCON1|=2; //TI=1; //激活MCU的串口发送程序
578 2 bUartBusy=1; //置发送程序已经激活的标志
579 2 }
580 1
581 1
582 1 }
583 //==============================w2812837@163.com=================================================
584
585
586 //清接收区为0
587 void Clr_DiZh_Rx_Buff() {
588 1 uint i;
589 1
590 1 for (i=0;i<DiZh_BUFF_MAX;i++)
591 1 DiZh_Rx_Buff[i]=0;
592 1
593 1 }
594
595
596 //清接收区为0
597 void Clr_KEY_RX_Buff() {
598 1 uint i;
599 1
600 1 for (i=0;i<KEY_BUFF_MAX;i++)
601 1 KEY_RX_Buff[i]=0;
602 1
603 1 }
604
605
606 //清接收区为0
607 void Clr_F76_RX_Buff() {
608 1 uint i;
609 1
610 1 for (i=0;i<F76_BUFF_MAX;i++)
611 1 F76_RX_Buff[i]=0;
612 1
C51 COMPILER V7.50 SERIAL1 06/10/2007 23:11:20 PAGE 11
613 1 }
614
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1500 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 452 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 14 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -