📄 periph.lst
字号:
610 1 // GPIF busy...
611 1 // }
612 1 // IOA = 0x01;
613 1 }
C51 COMPILER V6.23a PERIPH 10/26/2005 19:02:17 PAGE 11
614
615 BOOL TD_Suspend(void) // Called before the device goes into suspend mode
616 {
617 1 return(TRUE);
618 1 }
619
620 BOOL TD_Resume(void) // Called after the device resumes
621 {
622 1 return(TRUE);
623 1 }
624
625 //-----------------------------------------------------------------------------
626 // Device Request hooks
627 // The following hooks are called by the end point 0 device request parser.
628 //-----------------------------------------------------------------------------
629
630 BOOL DR_GetDescriptor(void)
631 {
632 1 return(TRUE);
633 1 }
634
635 BOOL DR_SetConfiguration(void) // Called when a Set Configuration command is received
636 {
637 1 if( EZUSB_HIGHSPEED( ) )
638 1 { // ...FX2 in high speed mode
639 2 SYNCDELAY; //
640 2 EP6AUTOINLENH = 0x02; // set core AUTO commit len = 512 bytes
641 2 SYNCDELAY; //
642 2 EP6AUTOINLENL = 0x00;
643 2 SYNCDELAY; //
644 2 enum_pkt_size = 512; // max. pkt. size = 512 bytes
645 2 }
646 1 else
647 1 { // ...FX2 in full speed mode
648 2 SYNCDELAY; //
649 2 EP6AUTOINLENH = 0x00; // set core AUTO commit len = 64 bytes
650 2 SYNCDELAY; //
651 2 EP6AUTOINLENL = 0x40;
652 2 SYNCDELAY; //
653 2 enum_pkt_size = 64; // max. pkt. size = 64 bytes
654 2 }
655 1 Configuration = SETUPDAT[2];
656 1 return(TRUE); // Handled by user code
657 1 }
658
659 BOOL DR_GetConfiguration(void) // Called when a Get Configuration command is received
660 {
661 1 EP0BUF[0] = Configuration;
662 1 EP0BCH = 0;
663 1 EP0BCL = 1;
664 1 return(TRUE); // Handled by user code
665 1 }
666
667 BOOL DR_SetInterface(void) // Called when a Set Interface command is received
668 {
669 1 AlternateSetting = SETUPDAT[2];
670 1 return(TRUE); // Handled by user code
671 1 }
672
673 BOOL DR_GetInterface(void) // Called when a Set Interface command is received
674 {
675 1 EP0BUF[0] = AlternateSetting;
C51 COMPILER V6.23a PERIPH 10/26/2005 19:02:17 PAGE 12
676 1 EP0BCH = 0;
677 1 EP0BCL = 1;
678 1 return(TRUE); // Handled by user code
679 1 }
680
681 BOOL DR_GetStatus(void)
682 {
683 1 return(TRUE);
684 1 }
685
686 BOOL DR_ClearFeature(void)
687 {
688 1 return(TRUE);
689 1 }
690
691 BOOL DR_SetFeature(void)
692 {
693 1 return(TRUE);
694 1 }
695
696 BOOL DR_VendorCmnd(void)
697 {
698 1 return( FALSE ); // no error; command handled OK
699 1 }
700
701 //-----------------------------------------------------------------------------
702 // USB Interrupt Handlers
703 // The following functions are called by the USB interrupt jump table.
704 //-----------------------------------------------------------------------------
705
706 // Setup Data Available Interrupt Handler
707 void ISR_Sudav(void) interrupt 0
708 {
709 1 GotSUD = TRUE; // Set flag
710 1 EZUSB_IRQ_CLEAR();
711 1 USBIRQ = bmSUDAV; // Clear SUDAV IRQ
712 1 }
713
714 // Setup Token Interrupt Handler
715 void ISR_Sutok(void) interrupt 0
716 {
717 1 EZUSB_IRQ_CLEAR();
718 1 USBIRQ = bmSUTOK; // Clear SUTOK IRQ
719 1 }
720
721 void ISR_Sof(void) interrupt 0
722 {
723 1 EZUSB_IRQ_CLEAR();
724 1 USBIRQ = bmSOF; // Clear SOF IRQ
725 1 }
726
727 void ISR_Ures(void) interrupt 0
728 {
729 1 if ( EZUSB_HIGHSPEED( ) )
730 1 {
731 2 pConfigDscr = pHighSpeedConfigDscr;
732 2 pOtherConfigDscr = pFullSpeedConfigDscr;
733 2 }
734 1 else
735 1 {
736 2 pConfigDscr = pFullSpeedConfigDscr;
737 2 pOtherConfigDscr = pHighSpeedConfigDscr;
C51 COMPILER V6.23a PERIPH 10/26/2005 19:02:17 PAGE 13
738 2 }
739 1
740 1 EZUSB_IRQ_CLEAR();
741 1 USBIRQ = bmURES; // Clear URES IRQ
742 1 }
743
744 void ISR_Susp(void) interrupt 0
745 {
746 1 Sleep = TRUE;
747 1 EZUSB_IRQ_CLEAR();
748 1 USBIRQ = bmSUSP;
749 1 }
750
751 void ISR_Highspeed(void) interrupt 0
752 {
753 1 if ( EZUSB_HIGHSPEED( ) )
754 1 {
755 2 pConfigDscr = pHighSpeedConfigDscr;
756 2 pOtherConfigDscr = pFullSpeedConfigDscr;
757 2 }
758 1 else
759 1 {
760 2 pConfigDscr = pFullSpeedConfigDscr;
761 2 pOtherConfigDscr = pHighSpeedConfigDscr;
762 2 }
763 1
764 1 EZUSB_IRQ_CLEAR();
765 1 // USBIRQ = bmHSGRANT;
766 1 while (USBIRQ & bmHSGRANT)
767 1 USBIRQ = bmHSGRANT; //bmHSGRANT is bit 5 of USBIRQ
768 1 }
769 void ISR_Ep0ack(void) interrupt 0
770 {
771 1 }
772 void ISR_Stub(void) interrupt 0
773 {
774 1 }
775 void ISR_Ep0in(void) interrupt 0
776 {
777 1 }
778 void ISR_Ep0out(void) interrupt 0
779 {
780 1 }
781 void ISR_Ep1in(void) interrupt 0
782 {
783 1 }
784 void ISR_Ep1out(void) interrupt 0
785 {
786 1 }
787 void ISR_Ep2inout(void) interrupt 0
788 {/*
789 1 Flag_Of_Command = TRUE;
790 1 SYNCDELAY;
791 1 CmdLength = ( WORD ) EP2BCH << 8;
792 1 SYNCDELAY;
793 1 CmdLength |= ( WORD ) EP2BCL;
794 1 // IOA = 0x00; //PD.7=0
795 1 EZUSB_IRQ_CLEAR();
796 1 EPIRQ |= 0x10;
797 1 */
798 1 }
799 void ISR_Ep4inout(void) interrupt 0
C51 COMPILER V6.23a PERIPH 10/26/2005 19:02:17 PAGE 14
800 {
801 1 }
802 void ISR_Ep6inout(void) interrupt 0
803 {
804 1 }
805 void ISR_Ep8inout(void) interrupt 0
806 {
807 1 }
808 void ISR_Ibn(void) interrupt 0
809 {
810 1 }
811 void ISR_Ep0pingnak(void) interrupt 0
812 {
813 1 }
814 void ISR_Ep1pingnak(void) interrupt 0
815 {
816 1 }
817 void ISR_Ep2pingnak(void) interrupt 0
818 {/*
819 1 // if we get a PING-NAK interrupt then arm the endpoint
820 1 SYNCDELAY;
821 1 EP2BCL = 0;
822 1
823 1 // IOA = 0x00; //PD.7=0
824 1
825 1 EZUSB_IRQ_CLEAR();
826 1 NAKIRQ = bmEP2PING;
827 1 */
828 1 }
829 void ISR_Ep4pingnak(void) interrupt 0
830 {
831 1 }
832 void ISR_Ep6pingnak(void) interrupt 0
833 {
834 1 }
835 void ISR_Ep8pingnak(void) interrupt 0
836 {
837 1 }
838 void ISR_Errorlimit(void) interrupt 0
839 {
840 1 }
841 void ISR_Ep2piderror(void) interrupt 0
842 {
843 1 }
844 void ISR_Ep4piderror(void) interrupt 0
845 {
846 1 }
847 void ISR_Ep6piderror(void) interrupt 0
848 {
849 1 }
850 void ISR_Ep8piderror(void) interrupt 0
851 {
852 1 }
853 void ISR_Ep2pflag(void) interrupt 0
854 {
855 1 }
856 void ISR_Ep4pflag(void) interrupt 0
857 {
858 1 }
859 void ISR_Ep6pflag(void) interrupt 0
860 {
861 1 }
C51 COMPILER V6.23a PERIPH 10/26/2005 19:02:17 PAGE 15
862 void ISR_Ep8pflag(void) interrupt 0
863 {
864 1 }
865 void ISR_Ep2eflag(void) interrupt 0
866 {
867 1 }
868 void ISR_Ep4eflag(void) interrupt 0
869 {
870 1 }
871 void ISR_Ep6eflag(void) interrupt 0
872 {
873 1 }
874 void ISR_Ep8eflag(void) interrupt 0
875 {
876 1 }
877 void ISR_Ep2fflag(void) interrupt 0
878 {
879 1 }
880 void ISR_Ep4fflag(void) interrupt 0
881 {
882 1 }
883 void ISR_Ep6fflag(void) interrupt 0
884 {
885 1 }
886 void ISR_Ep8fflag(void) interrupt 0
887 {
888 1 }
889 void ISR_GpifComplete(void) interrupt 0
890 {
891 1 }
892 void ISR_GpifWaveform(void) interrupt 0
893 {
894 1 GPIFABORT = 0xFF; // abort to handle shortpkt
895 1
896 1 SYNCDELAY; // used here as "delay"
897 1 EXIF &= ~0x40;
898 1 INT4CLR = 0xFF; // automatically enabled at POR
899 1 SYNCDELAY;
900 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 931 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -