📄 gpifburst8a.lst
字号:
714 3 BLINK_LED();
715 3 break;
716 3 }
717 2 case VX_D1:
718 2 { // let TD_Poll( ); firmware handle data xfr's...
719 3 xfrvia_TD_Poll = 1;
720 3 ledX_rdvar = LED0_ON; // LED0 is ON: GPIF triggered in TD_POll
721 3 *EP0BUF = 0xD1;
722 3 EP0BCH = 0;
723 3 EP0BCL = 1; // Arm endpoint with # bytes to transfer
724 3 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
725 3 BLINK_LED();
726 3 break;
727 3 }
728 2 case VX_D2:
729 2 { // handle data xfr's via vendor specific cmds...
730 3 xfrvia_TD_Poll = 0;
731 3 ledX_rdvar = LED0_OFF; // LED0 is OFF: GPIF not triggered in TD_Poll
732 3 *EP0BUF = 0xD2;
733 3 EP0BCH = 0;
734 3 EP0BCL = 1; // Arm endpoint with # bytes to transfer
735 3 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
736 3 BLINK_LED();
737 3 break;
C51 COMPILER V7.00 GPIFBURST8A 05/20/2003 15:33:07 PAGE 13
738 3 }
739 2 case VX_E0:
740 2 { // set GPIF FIFO Read event flag
741 3 in_token_event = 1;
742 3 *EP0BUF = 0xE0;
743 3 EP0BCH = 0;
744 3 EP0BCL = 1; // Arm endpoint with # bytes to transfer
745 3 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
746 3 BLINK_LED();
747 3 break;
748 3 }
749 2 case VX_E1:
750 2 { // set GPIF FIFO Read event flag
751 3 //in_token_event = 1;
752 3 *EP0BUF = 0xE0;
753 3 EP0BCH = 0;
754 3 EP0BCL = 1; // Arm endpoint with # bytes to transfer
755 3 EP0CS |= bmHSNAK; // Acknowledge handshake phase of device request
756 3 GPIFIDLECTL |= 0x02; // Set Idle state of CTL1 to 1
757 3
758 3 BLINK_LED();
759 3 break;
760 3 }
761 2 }
762 1 return( FALSE ); // no error; command handled OK
763 1 }
764
765 //-----------------------------------------------------------------------------
766 // USB Interrupt Handlers
767 // The following functions are called by the USB interrupt jump table.
768 //-----------------------------------------------------------------------------
769
770 // Setup Data Available Interrupt Handler
771 void ISR_Sudav(void) interrupt 0
772 {
773 1 GotSUD = TRUE; // Set flag
774 1 EZUSB_IRQ_CLEAR();
775 1 USBIRQ = bmSUDAV; // Clear SUDAV IRQ
776 1 }
777
778 // Setup Token Interrupt Handler
779 void ISR_Sutok(void) interrupt 0
780 {
781 1 EZUSB_IRQ_CLEAR();
782 1 USBIRQ = bmSUTOK; // Clear SUTOK IRQ
783 1 }
784
785 void ISR_Sof(void) interrupt 0
786 {
787 1 EZUSB_IRQ_CLEAR();
788 1 USBIRQ = bmSOF; // Clear SOF IRQ
789 1 }
790
791 void ISR_Ures(void) interrupt 0
792 {
793 1 if (EZUSB_HIGHSPEED())
794 1 {
795 2 pConfigDscr = pHighSpeedConfigDscr;
796 2 pOtherConfigDscr = pFullSpeedConfigDscr;
797 2 }
798 1 else
799 1 {
C51 COMPILER V7.00 GPIFBURST8A 05/20/2003 15:33:07 PAGE 14
800 2 pConfigDscr = pFullSpeedConfigDscr;
801 2 pOtherConfigDscr = pHighSpeedConfigDscr;
802 2 }
803 1
804 1 EZUSB_IRQ_CLEAR();
805 1 USBIRQ = bmURES; // Clear URES IRQ
806 1 }
807
808 void ISR_Susp(void) interrupt 0
809 {
810 1 Sleep = TRUE;
811 1 EZUSB_IRQ_CLEAR();
812 1 USBIRQ = bmSUSP;
813 1 }
814
815 void ISR_Highspeed(void) interrupt 0
816 {
817 1 if (EZUSB_HIGHSPEED())
818 1 {
819 2 pConfigDscr = pHighSpeedConfigDscr;
820 2 pOtherConfigDscr = pFullSpeedConfigDscr;
821 2 }
822 1 else
823 1 {
824 2 pConfigDscr = pFullSpeedConfigDscr;
825 2 pOtherConfigDscr = pHighSpeedConfigDscr;
826 2 }
827 1
828 1 EZUSB_IRQ_CLEAR();
829 1 USBIRQ = bmHSGRANT;
830 1 }
831 void ISR_Ep0ack(void) interrupt 0
832 {
833 1 }
834 void ISR_Stub(void) interrupt 0
835 {
836 1 }
837 void ISR_Ep0in(void) interrupt 0
838 {
839 1 }
840 void ISR_Ep0out(void) interrupt 0
841 {
842 1 }
843 void ISR_Ep1in(void) interrupt 0
844 {
845 1 }
846 void ISR_Ep1out(void) interrupt 0
847 {
848 1 }
849 void ISR_Ep2inout(void) interrupt 0
850 {
851 1 }
852 void ISR_Ep4inout(void) interrupt 0
853 {
854 1 }
855 void ISR_Ep6inout(void) interrupt 0
856 {
857 1 }
858 void ISR_Ep8inout(void) interrupt 0
859 {
860 1 }
861 void ISR_Ibn(void) interrupt 0
C51 COMPILER V7.00 GPIFBURST8A 05/20/2003 15:33:07 PAGE 15
862 {
863 1 }
864 void ISR_Ep0pingnak(void) interrupt 0
865 {
866 1 }
867 void ISR_Ep1pingnak(void) interrupt 0
868 {
869 1 }
870 void ISR_Ep2pingnak(void) interrupt 0
871 {
872 1 }
873 void ISR_Ep4pingnak(void) interrupt 0
874 {
875 1 }
876 void ISR_Ep6pingnak(void) interrupt 0
877 {
878 1 }
879 void ISR_Ep8pingnak(void) interrupt 0
880 {
881 1 }
882 void ISR_Errorlimit(void) interrupt 0
883 {
884 1 }
885 void ISR_Ep2piderror(void) interrupt 0
886 {
887 1 }
888 void ISR_Ep4piderror(void) interrupt 0
889 {
890 1 }
891 void ISR_Ep6piderror(void) interrupt 0
892 {
893 1 }
894 void ISR_Ep8piderror(void) interrupt 0
895 {
896 1 }
897 void ISR_Ep2pflag(void) interrupt 0
898 {
899 1 }
900 void ISR_Ep4pflag(void) interrupt 0
901 {
902 1 }
903 void ISR_Ep6pflag(void) interrupt 0
904 {
905 1 }
906 void ISR_Ep8pflag(void) interrupt 0
907 {
908 1 }
909 void ISR_Ep2eflag(void) interrupt 0
910 {
911 1 }
912 void ISR_Ep4eflag(void) interrupt 0
913 {
914 1 }
915 void ISR_Ep6eflag(void) interrupt 0
916 {
917 1 }
918 void ISR_Ep8eflag(void) interrupt 0
919 {
920 1 }
921 void ISR_Ep2fflag(void) interrupt 0
922 {
923 1 }
C51 COMPILER V7.00 GPIFBURST8A 05/20/2003 15:33:07 PAGE 16
924 void ISR_Ep4fflag(void) interrupt 0
925 {
926 1 }
927 void ISR_Ep6fflag(void) interrupt 0
928 {
929 1 }
930 void ISR_Ep8fflag(void) interrupt 0
931 {
932 1 }
933 void ISR_GpifComplete(void) interrupt 0
934 {
935 1 }
936 void ISR_GpifWaveform(void) interrupt 0
937 {
938 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1971 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -