📄 comms.lst
字号:
466 1 I2CS |= bmSTOP; //stop transaction
467 1 return(I2DAT);
468 1 }
469 //added for adm1032 test
470 /*
471 BYTE ReadSMBUSDataWithExtraClocks(BYTE DevAddr)
472 {
473 BYTE TempVal;
474
475 while (I2CS & bmSTOP); //wait for previous transaction to end
476 I2CS |= bmSTART; //set start
477 I2DAT = (DevAddr << 1) | 1; //set device address + read bit
478 while((I2CS & 1) == 0); //wait for DONE
479 TempVal = I2DAT; //reading this starts the 9 read clocks
480 while((I2CS & 1) == 0); //wait for DONE
481 I2CS |= bmLASTRD; //set last-read bit
482 TempVal = I2DAT; //reading this starts the 9 read clocks
483 while((I2CS & 1) == 0); //wait for DONE
484 I2CS |= bmSTOP; //stop transaction
485 return(TempVal);
486 }
487 */
488
489 void WriteSWITCHData(BYTE DevAddr, BYTE DataOut)
C51 COMPILER V7.07 COMMS 02/08/2007 14:49:17 PAGE 9
490 {
491 1
492 1 while (I2CS & bmSTOP); //wait for previous transaction to end
493 1 I2CS |= bmSTART; //set start
494 1 I2DAT = (DevAddr << 1); //set device address + write bit
495 1 while((I2CS & 1) == 0); //wait for DONE
496 1 I2DAT = DataOut; //set data
497 1 while((I2CS & 1) == 0); //wait for DONE
498 1 I2CS |= bmSTOP;
499 1 }
500
501 BYTE ReadSWITCHData(BYTE DevAddr)
502 {
503 1 BYTE TempVal;
504 1
505 1 while (I2CS & bmSTOP); //wait for previous transaction to end
506 1 I2CS |= bmSTART; //set start
507 1 I2DAT = (DevAddr << 1) | 1; //set device address + read bit
508 1 while((I2CS & 1) == 0); //wait for DONE
509 1 I2CS |= bmLASTRD; //set last-read bit
510 1 TempVal = I2DAT; //reading this starts the 9 read clocks
511 1 while((I2CS & 1) == 0); //wait for DONE
512 1 I2CS |= bmSTOP; //stop transaction
513 1 return(I2DAT);
514 1 }
515
516 //-----------------------------------------------------------------------------
517 // USB Interrupt Handlers
518 // The following functions are called by the USB interrupt jump table.
519 //-----------------------------------------------------------------------------
520
521 // Setup Data Available Interrupt Handler
522 void ISR_Sudav(void) interrupt 0
523 {
524 1 GotSUD = TRUE; // Set flag
525 1 EZUSB_IRQ_CLEAR();
526 1 USBIRQ = bmSUDAV; // Clear SUDAV IRQ
527 1 }
528
529 // Setup Token Interrupt Handler
530 void ISR_Sutok(void) interrupt 0
531 {
532 1 EZUSB_IRQ_CLEAR();
533 1 USBIRQ = bmSUTOK; // Clear SUTOK IRQ
534 1 }
535
536 void ISR_Sof(void) interrupt 0
537 {
538 1 EZUSB_IRQ_CLEAR();
539 1 USBIRQ = bmSOF; // Clear SOF IRQ
540 1 }
541
542 void ISR_Ures(void) interrupt 0
543 {
544 1 // whenever we get a USB reset, we should revert to full speed mode
545 1 pConfigDscr = pFullSpeedConfigDscr;
546 1 ((CONFIGDSCR xdata *) pConfigDscr)->type = CONFIG_DSCR;
547 1 pOtherConfigDscr = pHighSpeedConfigDscr;
548 1 ((CONFIGDSCR xdata *) pOtherConfigDscr)->type = OTHERSPEED_DSCR;
549 1
550 1 EZUSB_IRQ_CLEAR();
551 1 USBIRQ = bmURES; // Clear URES IRQ
C51 COMPILER V7.07 COMMS 02/08/2007 14:49:17 PAGE 10
552 1 }
553
554 void ISR_Susp(void) interrupt 0
555 {
556 1 Sleep = TRUE;
557 1 EZUSB_IRQ_CLEAR();
558 1 USBIRQ = bmSUSP;
559 1 }
560
561 void ISR_Highspeed(void) interrupt 0
562 {
563 1 if (EZUSB_HIGHSPEED())
564 1 {
565 2 pConfigDscr = pHighSpeedConfigDscr;
566 2 ((CONFIGDSCR xdata *) pConfigDscr)->type = CONFIG_DSCR;
567 2 pOtherConfigDscr = pFullSpeedConfigDscr;
568 2 ((CONFIGDSCR xdata *) pOtherConfigDscr)->type = OTHERSPEED_DSCR;
569 2 }
570 1
571 1 EZUSB_IRQ_CLEAR();
572 1 USBIRQ = bmHSGRANT;
573 1 }
574 void ISR_Ep0ack(void) interrupt 0
575 {
576 1 }
577 void ISR_Stub(void) interrupt 0
578 {
579 1 }
580 void ISR_Ep0in(void) interrupt 0
581 {
582 1 }
583 void ISR_Ep0out(void) interrupt 0
584 {
585 1 }
586 void ISR_Ep1in(void) interrupt 0
587 {
588 1 }
589 void ISR_Ep1out(void) interrupt 0
590 {
591 1 }
592 void ISR_Ep2inout(void) interrupt 0
593 {
594 1 }
595 void ISR_Ep4inout(void) interrupt 0
596 {
597 1 }
598 void ISR_Ep6inout(void) interrupt 0
599 {
600 1 }
601 void ISR_Ep8inout(void) interrupt 0
602 {
603 1 }
604 void ISR_Ibn(void) interrupt 0
605 {
606 1 }
607 void ISR_Ep0pingnak(void) interrupt 0
608 {
609 1 }
610 void ISR_Ep1pingnak(void) interrupt 0
611 {
612 1 }
613 void ISR_Ep2pingnak(void) interrupt 0
C51 COMPILER V7.07 COMMS 02/08/2007 14:49:17 PAGE 11
614 {
615 1 }
616 void ISR_Ep4pingnak(void) interrupt 0
617 {
618 1 }
619 void ISR_Ep6pingnak(void) interrupt 0
620 {
621 1 }
622 void ISR_Ep8pingnak(void) interrupt 0
623 {
624 1 }
625 void ISR_Errorlimit(void) interrupt 0
626 {
627 1 }
628 void ISR_Ep2piderror(void) interrupt 0
629 {
630 1 }
631 void ISR_Ep4piderror(void) interrupt 0
632 {
633 1 }
634 void ISR_Ep6piderror(void) interrupt 0
635 {
636 1 }
637 void ISR_Ep8piderror(void) interrupt 0
638 {
639 1 }
640 void ISR_Ep2pflag(void) interrupt 0
641 {
642 1 }
643 void ISR_Ep4pflag(void) interrupt 0
644 {
645 1 }
646 void ISR_Ep6pflag(void) interrupt 0
647 {
648 1 }
649 void ISR_Ep8pflag(void) interrupt 0
650 {
651 1 }
652 void ISR_Ep2eflag(void) interrupt 0
653 {
654 1 }
655 void ISR_Ep4eflag(void) interrupt 0
656 {
657 1 }
658 void ISR_Ep6eflag(void) interrupt 0
659 {
660 1 }
661 void ISR_Ep8eflag(void) interrupt 0
662 {
663 1 }
664 void ISR_Ep2fflag(void) interrupt 0
665 {
666 1 }
667 void ISR_Ep4fflag(void) interrupt 0
668 {
669 1 }
670 void ISR_Ep6fflag(void) interrupt 0
671 {
672 1 }
673 void ISR_Ep8fflag(void) interrupt 0
674 {
675 1 }
C51 COMPILER V7.07 COMMS 02/08/2007 14:49:17 PAGE 12
676 void ISR_GpifComplete(void) interrupt 0
677 {
678 1 }
679 void ISR_GpifWaveform(void) interrupt 0
680 {
681 1 }
682
683
684
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1540 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 123 ----
PDATA SIZE = ---- ----
DATA SIZE = 9 16
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 + -