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