📄 srcout_s.lst
字号:
503 3 *EP0BUF = VX_BB;
504 3 EP0BCH = 0;
505 3 EP0BCL = 1; // Arm endpoint with # bytes to transfer
506 3 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
507 3
508 3
509 3 break;
510 3 }
511 2 case VX_C2:
512 2 { // cpu source out data
513 3 if( EP24FIFOFLGS & 0x02 )
514 3 {
515 4 REVCTL = 0x01; // ENH_PKT=1 (use enhanced packet handling)
516 4 SYNCDELAY; //
517 4 FIFORESET = 0x80; // nak all OUT pkts. from host
518 4 SYNCDELAY; //
519 4 FIFORESET = 0x02; // advance all EP2 buffers to cpu domain
520 4 SYNCDELAY; //
521 4 EP2FIFOBUF[0] = 0xAA; // create newly sourced pkt. data
522 4 SYNCDELAY; //
523 4 EP2BCH = 0x00;
524 4 SYNCDELAY; //
525 4 EP2BCL = 0x01; // commit newly sourced pkt. to interface fifo
526 4
527 4 // beware of "left over" uncommitted buffers
528 4
529 4 SYNCDELAY; //
530 4 OUTPKTEND = 0x82; // skip uncommitted pkt. (second pkt.)
531 4 SYNCDELAY; //
532 4 OUTPKTEND = 0x82; // skip uncommitted pkt. (third pkt.)
533 4 SYNCDELAY; //
534 4 OUTPKTEND = 0x82; // skip uncommitted pkt. (fourth pkt.)
535 4 // note: core will not allow pkts. to get out of sequence
536 4 SYNCDELAY; //
537 4 FIFORESET = 0x00; // release "nak all"
538 4 SYNCDELAY; //
539 4
540 4 *EP0BUF = VX_C2;
541 4 EP0BCH = 0;
542 4 EP0BCL = 1; // Arm endpoint with # bytes to transfer
543 4 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
544 4
545 4
546 4 }
547 3 else
548 3 {
549 4 *EP0BUF = 0xFF;
550 4 EP0BCH = 0;
C51 COMPILER V7.50 SRCOUT_S 05/26/2006 20:44:33 PAGE 10
551 4 EP0BCL = 1; // Arm endpoint with # bytes to transfer
552 4 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
553 4
554 4 }
555 3
556 3 break;
557 3 }
558 2 default:
559 2 {
560 3 ledX_rdvar = LED3_ON; // debug visual, stuck "ON" to warn developer...
561 3 return( FALSE ); // no error; command handled OK
562 3 }
563 2 }
564 1
565 1
566 1 return( FALSE ); // no error; command handled OK
567 1 }
568
569 //-----------------------------------------------------------------------------
570 // USB Interrupt Handlers
571 // The following functions are called by the USB interrupt jump table.
572 //-----------------------------------------------------------------------------
573
574 // Setup Data Available Interrupt Handler
575 void ISR_Sudav( void ) interrupt 0
576 {
577 1 GotSUD = TRUE; // Set flag
578 1 EZUSB_IRQ_CLEAR( );
579 1 USBIRQ = bmSUDAV; // Clear SUDAV IRQ
580 1 }
581
582 // Setup Token Interrupt Handler
583 void ISR_Sutok( void ) interrupt 0
584 {
585 1 EZUSB_IRQ_CLEAR( );
586 1 USBIRQ = bmSUTOK; // Clear SUTOK IRQ
587 1 }
588
589 void ISR_Sof( void ) interrupt 0
590 {
591 1 EZUSB_IRQ_CLEAR( );
592 1 USBIRQ = bmSOF; // Clear SOF IRQ
593 1 }
594
595 void ISR_Ures( void ) interrupt 0
596 {
597 1 if ( EZUSB_HIGHSPEED( ) )
598 1 {
599 2 pConfigDscr = pHighSpeedConfigDscr;
600 2 pOtherConfigDscr = pFullSpeedConfigDscr;
601 2 }
602 1 else
603 1 {
604 2 pConfigDscr = pFullSpeedConfigDscr;
605 2 pOtherConfigDscr = pHighSpeedConfigDscr;
606 2 }
607 1
608 1 EZUSB_IRQ_CLEAR( );
609 1 USBIRQ = bmURES; // Clear URES IRQ
610 1 }
611
612 void ISR_Susp( void ) interrupt 0
C51 COMPILER V7.50 SRCOUT_S 05/26/2006 20:44:33 PAGE 11
613 {
614 1 Sleep = TRUE;
615 1 EZUSB_IRQ_CLEAR( );
616 1 USBIRQ = bmSUSP;
617 1 }
618
619 void ISR_Highspeed( void ) interrupt 0
620 {
621 1 if ( EZUSB_HIGHSPEED( ) )
622 1 {
623 2 pConfigDscr = pHighSpeedConfigDscr;
624 2 pOtherConfigDscr = pFullSpeedConfigDscr;
625 2 }
626 1 else
627 1 {
628 2 pConfigDscr = pFullSpeedConfigDscr;
629 2 pOtherConfigDscr = pHighSpeedConfigDscr;
630 2 }
631 1
632 1 EZUSB_IRQ_CLEAR( );
633 1 USBIRQ = bmHSGRANT;
634 1 }
635 void ISR_Ep0ack( void ) interrupt 0
636 {
637 1 }
638 void ISR_Stub( void ) interrupt 0
639 {
640 1 }
641 void ISR_Ep0in( void ) interrupt 0
642 {
643 1 }
644 void ISR_Ep0out( void ) interrupt 0
645 {
646 1 }
647 void ISR_Ep1in( void ) interrupt 0
648 {
649 1 }
650 void ISR_Ep1out( void ) interrupt 0
651 {
652 1 }
653 void ISR_Ep2inout( void ) interrupt 0
654 {
655 1 }
656 void ISR_Ep4inout( void ) interrupt 0
657 {
658 1 }
659 void ISR_Ep6inout( void ) interrupt 0
660 {
661 1 }
662 void ISR_Ep8inout( void ) interrupt 0
663 {
664 1 }
665 void ISR_Ibn( void ) interrupt 0
666 {
667 1 }
668 void ISR_Ep0pingnak( void ) interrupt 0
669 {
670 1 }
671 void ISR_Ep1pingnak( void ) interrupt 0
672 {
673 1 }
674 void ISR_Ep2pingnak( void ) interrupt 0
C51 COMPILER V7.50 SRCOUT_S 05/26/2006 20:44:33 PAGE 12
675 {
676 1 }
677 void ISR_Ep4pingnak( void ) interrupt 0
678 {
679 1 }
680 void ISR_Ep6pingnak( void ) interrupt 0
681 {
682 1 }
683 void ISR_Ep8pingnak( void ) interrupt 0
684 {
685 1 }
686 void ISR_Errorlimit( void ) interrupt 0
687 {
688 1 }
689 void ISR_Ep2piderror( void ) interrupt 0
690 {
691 1 }
692 void ISR_Ep4piderror( void ) interrupt 0
693 {
694 1 }
695 void ISR_Ep6piderror( void ) interrupt 0
696 {
697 1 }
698 void ISR_Ep8piderror( void ) interrupt 0
699 {
700 1 }
701 void ISR_Ep2pflag( void ) interrupt 0
702 {
703 1 }
704 void ISR_Ep4pflag( void ) interrupt 0
705 {
706 1 }
707 void ISR_Ep6pflag( void ) interrupt 0
708 {
709 1 }
710 void ISR_Ep8pflag( void ) interrupt 0
711 {
712 1 }
713 void ISR_Ep2eflag( void ) interrupt 0
714 {
715 1 }
716 void ISR_Ep4eflag( void ) interrupt 0
717 {
718 1 }
719 void ISR_Ep6eflag( void ) interrupt 0
720 {
721 1 }
722 void ISR_Ep8eflag( void ) interrupt 0
723 {
724 1 }
725 void ISR_Ep2fflag( void ) interrupt 0
726 {
727 1 }
728 void ISR_Ep4fflag( void ) interrupt 0
729 {
730 1 }
731 void ISR_Ep6fflag( void ) interrupt 0
732 {
733 1 }
734 void ISR_Ep8fflag( void ) interrupt 0
735 {
736 1 }
C51 COMPILER V7.50 SRCOUT_S 05/26/2006 20:44:33 PAGE 13
737 void ISR_GpifComplete( void ) interrupt 0
738 {
739 1 }
740 void ISR_GpifWaveform( void ) interrupt 0
741 {
742 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1057 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 16 ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -