📄 main.lst
字号:
450 1 //set the ip address
451 1 config[12] = static_ip[0];
452 1 config[13] = static_ip[1];
453 1 config[14] = static_ip[2];
454 1 config[15] = static_ip[3];
455 1
456 1 //set the subnet mask
457 1 config[16] = yan_ma[0];
458 1 config[17] = yan_ma[1];
459 1 config[18] = yan_ma[2];
460 1 config[19] = yan_ma[3];
461 1
462 1 //set the iP4 prefix
463 1 config[20] = STATIC_IPV4_PREFIX;
464 1
465 1 //set the gateway
466 1 config[33] = gate_ip[0];
467 1 config[34] = gate_ip[1];
468 1 config[35] = gate_ip[2];
469 1 config[36] = gate_ip[3];
470 1
471 1 result = setnetworkparams(config);
472 1 printf("Set network parameters result: %u\r\n", result);
473 1
474 1 }
475
476 void network_config()//读取本端网络属性
477 {
478 1 unsigned char result;
479 1 unsigned char xdata config[56];
480 1 unsigned int i;
481 1 for (i=0;i<56;i++)
482 1 config[i] = 0;
483 1
484 1 result = getnetworkparams(config);
485 1 printf("Network params result: %d\r\n", result);
486 1
487 1 printf("IP : %bu %bu %bu %bu\r\n", config[12], config[13], config[14], config[15]);
C51 COMPILER V7.07 MAIN 04/07/2006 09:01:49 PAGE 9
488 1 printf("Subnet: %bu %bu %bu %bu\r\n", config[16], config[17], config[18], config[19]);
489 1 printf("Prefix: %bu\r\n", config[20]);
490 1 printf("Gate : %bu %bu %bu %bu\r\n", config[33], config[34], config[35], config[36]);
491 1 }
492
493 void init()//初始化自己定义的量
494 {
495 1 send_addr_video = 0x050000;//视频发送地址指针
496 1 rev_addr_video = 0x051000;//视频接收地址指针
497 1 send_addr_audio = 0x052000;//音频发送地址指针
498 1 rev_addr_audio = 0x053000;//音频接收地址指针
499 1 send_addr_command = 0x054000;//命令字发送地址指针
500 1 rev_addr_command = 0x055000;//命令字接收地址指针
501 1 rd_fifo_hf = 0x280000;//读取音频发送FIFO半满地址指针
502 1 rd_fifo_ef = 0x2a0000;//读取视频发送FIFO空地址指针
503 1 dual_send = 0x240200;//双口RAM写地址指针
504 1 dual_rev = 0x240000;//双口RAM读地址指针
505 1 dual_ip = 0x240400;//网络参数配置地址指针
506 1 command_length = 0;
507 1 head_r = 0;
508 1 tail_r = 0;
509 1 trans_num = 0;
510 1 for(i = 0;i < 2048;i++)
511 1 {
512 2 rev_buf[i] = 0;
513 2 }
514 1
515 1 for(i = 0; i < 4;i++)
516 1 {
517 2 for(j = 0; j < 4;j++)
518 2 {
519 3 send_para[i][j] = 0;
520 3 }
521 2 }
522 1
523 1 for(i = 0; i < 3;i++)
524 1 {
525 2 for(j = 0; j < 4;j++)
526 2 {
527 3 rev_para_video[i][j] = 0;
528 3 rev_para_audio[i][j] = 0;
529 3 }
530 2 }
531 1
532 1 send_video_flag = 0xff;
533 1 rev_video_flag = 0xff;
534 1 send_audio_flag = 0xff;
535 1 rev_audio_flag = 0xff;
536 1
537 1 static_ip[0] = 192;
538 1 static_ip[1] = 168;
539 1 static_ip[2] = 0;
540 1 static_ip[3] = 200;
541 1
542 1 gate_ip[0] = 192;
543 1 gate_ip[1] = 168;
544 1 gate_ip[2] = 0;
545 1 gate_ip[3] = 1;
546 1
547 1 yan_ma[0] = 255;
548 1 yan_ma[1] = 255;
549 1 yan_ma[2] = 255;
C51 COMPILER V7.07 MAIN 04/07/2006 09:01:49 PAGE 10
550 1 yan_ma[3] = 0;
551 1
552 1 SEND_VIDEO_PORT = 10025;
553 1 REV_VIDEO_PORT = 10026;
554 1 SEND_G711_PORT = 10027;
555 1 REV_G711_PORT = 10028;
556 1 SEND_COMMAND_PORT = 10029;
557 1 REV_COMMAND_PORT = 10030;
558 1 }
559
560 void moveto_buf()//将收到的命令字转移到接收缓冲区
561 {
562 1 unsigned char tem,length;
563 1 length = rev_length_command - 1;
564 1
565 1 for(tem = 0;tem < length;tem++)
566 1 {
567 2 rev_buf[head_r] = *(rev_addr_command + tem + 1);
568 2 head_r = (head_r + 1) & 0x7ff;
569 2 }
570 1 }
571
572
573 void send_command()//通过双口RAM发送命令字
574 {
575 1 unsigned char flag,length,total;
576 1
577 1 flag = (*dual_send) & 0x01;
578 1
579 1 if(flag == 0)//文景顺已经读走了命令字,可以写
580 1 {
581 2 total = 0;
582 2 length = rev_buf[tail_r];
583 2
584 2 if((length < 2) || (length > 30))
585 2 {
586 3 head_r = 0;
587 3 tail_r = 0;
588 3 for(i = 0;i < 2048;i++)
589 3 {
590 4 rev_buf[i] = 0;
591 4 }
592 3 total = 0;
593 3 }
594 2 while((head_r != tail_r) && ((total + length) < 120))
595 2 {
596 3 for(i = 0;i < length;i++)
597 3 {
598 4 temp = rev_buf[tail_r];
599 4 *(dual_send + total + 2) = temp;
600 4 tail_r = (tail_r + 1) & 0x7ff;
601 4 total++;
602 4 }
603 3 length = rev_buf[tail_r];
604 3 if(head_r != tail_r)
605 3 {
606 4 if((length < 2) || (length > 30))
607 4 {
608 5 head_r = 0;
609 5 tail_r = 0;
610 5 for(i = 0;i < 2048;i++)
611 5 {
C51 COMPILER V7.07 MAIN 04/07/2006 09:01:49 PAGE 11
612 6 rev_buf[i] = 0;
613 6 }
614 5 total = 0;
615 5 }
616 4 }
617 3 }
618 2 if((total > 0) && (total < 128))
619 2 {
620 3 *(dual_send + 1) = total;
621 3 *dual_send = 0x01;
622 3 }
623 2 }
624 1 }
625
626 void analyse_current_state(unsigned char state,unsigned num)
627 //根据8031提供的情况调整视频、音频的收发
628 {
629 1 }
*** WARNING C280 IN LINE 626 OF MAIN.C: 'state': unreferenced local variable
*** WARNING C280 IN LINE 626 OF MAIN.C: 'num': unreferenced local variable
630
631 void adjust_send_video(unsigned char num,unsigned char flag)
632 //调整视频的发送
633 {
634 1 }
*** WARNING C280 IN LINE 631 OF MAIN.C: 'num': unreferenced local variable
*** WARNING C280 IN LINE 631 OF MAIN.C: 'flag': unreferenced local variable
635
636 void adjust_send_audio(unsigned char num,unsigned char flag)
637 //调整音频的发送
638 {
639 1 }
*** WARNING C280 IN LINE 636 OF MAIN.C: 'num': unreferenced local variable
*** WARNING C280 IN LINE 636 OF MAIN.C: 'flag': unreferenced local variable
640
641 void adjust_rev_video(unsigned char num,unsigned char flag)
642 //调整视频的接收
643 {
644 1 }
*** WARNING C280 IN LINE 641 OF MAIN.C: 'num': unreferenced local variable
*** WARNING C280 IN LINE 641 OF MAIN.C: 'flag': unreferenced local variable
645
646 void adjust_rev_audio(unsigned char num,unsigned char flag)
647 //调整音频的接收
648 {
649 1 }
*** WARNING C280 IN LINE 646 OF MAIN.C: 'num': unreferenced local variable
*** WARNING C280 IN LINE 646 OF MAIN.C: 'flag': unreferenced local variable
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4150 ----
CONSTANT SIZE = 1523 ----
XDATA SIZE = 2350 139
PDATA SIZE = ---- ----
DATA SIZE = 40 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
C51 COMPILER V7.07 MAIN 04/07/2006 09:01:49 PAGE 12
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 10 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -