📄 interrupt_usart.lst
字号:
499:../../include/lib_AT91SAM7S256.h ****
500:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
501:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_CfgOutput
502:../../include/lib_AT91SAM7S256.h **** //* \brief Enable PIO in output mode
503:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
504:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgOutput(
505:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
506:../../include/lib_AT91SAM7S256.h **** unsigned int pioEnable) // \arg PIO to be enabled
507:../../include/lib_AT91SAM7S256.h **** {
508:../../include/lib_AT91SAM7S256.h **** pPio->PIO_PER = pioEnable; // Set in PIO mode
509:../../include/lib_AT91SAM7S256.h **** pPio->PIO_OER = pioEnable; // Configure in Output
510:../../include/lib_AT91SAM7S256.h **** }
511:../../include/lib_AT91SAM7S256.h ****
512:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
513:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_CfgInput
514:../../include/lib_AT91SAM7S256.h **** //* \brief Enable PIO in input mode
515:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
516:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgInput(
517:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
518:../../include/lib_AT91SAM7S256.h **** unsigned int inputEnable) // \arg PIO to be enabled
519:../../include/lib_AT91SAM7S256.h **** {
520:../../include/lib_AT91SAM7S256.h **** // Disable output
521:../../include/lib_AT91SAM7S256.h **** pPio->PIO_ODR = inputEnable;
522:../../include/lib_AT91SAM7S256.h **** pPio->PIO_PER = inputEnable;
523:../../include/lib_AT91SAM7S256.h **** }
524:../../include/lib_AT91SAM7S256.h ****
525:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
526:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_CfgOpendrain
527:../../include/lib_AT91SAM7S256.h **** //* \brief Configure PIO in open drain
528:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
529:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgOpendrain(
530:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
531:../../include/lib_AT91SAM7S256.h **** unsigned int multiDrvEnable) // \arg pio to be configured in open drain
532:../../include/lib_AT91SAM7S256.h **** {
533:../../include/lib_AT91SAM7S256.h **** // Configure the multi-drive option
534:../../include/lib_AT91SAM7S256.h **** pPio->PIO_MDDR = ~multiDrvEnable;
535:../../include/lib_AT91SAM7S256.h **** pPio->PIO_MDER = multiDrvEnable;
536:../../include/lib_AT91SAM7S256.h **** }
537:../../include/lib_AT91SAM7S256.h ****
538:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
539:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_CfgPullup
540:../../include/lib_AT91SAM7S256.h **** //* \brief Enable pullup on PIO
541:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
542:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgPullup(
543:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
544:../../include/lib_AT91SAM7S256.h **** unsigned int pullupEnable) // \arg enable pullup on PIO
545:../../include/lib_AT91SAM7S256.h **** {
546:../../include/lib_AT91SAM7S256.h **** // Connect or not Pullup
547:../../include/lib_AT91SAM7S256.h **** pPio->PIO_PPUDR = ~pullupEnable;
548:../../include/lib_AT91SAM7S256.h **** pPio->PIO_PPUER = pullupEnable;
549:../../include/lib_AT91SAM7S256.h **** }
550:../../include/lib_AT91SAM7S256.h ****
551:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
552:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_CfgDirectDrive
553:../../include/lib_AT91SAM7S256.h **** //* \brief Enable direct drive on PIO
554:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
555:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgDirectDrive(
556:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
557:../../include/lib_AT91SAM7S256.h **** unsigned int directDrive) // \arg PIO to be configured with direct drive
558:../../include/lib_AT91SAM7S256.h ****
559:../../include/lib_AT91SAM7S256.h **** {
560:../../include/lib_AT91SAM7S256.h **** // Configure the Direct Drive
561:../../include/lib_AT91SAM7S256.h **** pPio->PIO_OWDR = ~directDrive;
562:../../include/lib_AT91SAM7S256.h **** pPio->PIO_OWER = directDrive;
563:../../include/lib_AT91SAM7S256.h **** }
564:../../include/lib_AT91SAM7S256.h ****
565:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
566:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_CfgInputFilter
567:../../include/lib_AT91SAM7S256.h **** //* \brief Enable input filter on input PIO
568:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
569:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_CfgInputFilter(
570:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
571:../../include/lib_AT91SAM7S256.h **** unsigned int inputFilter) // \arg PIO to be configured with input filter
572:../../include/lib_AT91SAM7S256.h ****
573:../../include/lib_AT91SAM7S256.h **** {
574:../../include/lib_AT91SAM7S256.h **** // Configure the Direct Drive
575:../../include/lib_AT91SAM7S256.h **** pPio->PIO_IFDR = ~inputFilter;
576:../../include/lib_AT91SAM7S256.h **** pPio->PIO_IFER = inputFilter;
577:../../include/lib_AT91SAM7S256.h **** }
578:../../include/lib_AT91SAM7S256.h ****
579:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
580:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_GetInput
581:../../include/lib_AT91SAM7S256.h **** //* \brief Return PIO input value
582:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
583:../../include/lib_AT91SAM7S256.h **** __inline unsigned int AT91F_PIO_GetInput( // \return PIO input
584:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio) // \arg pointer to a PIO controller
585:../../include/lib_AT91SAM7S256.h **** {
586:../../include/lib_AT91SAM7S256.h **** return pPio->PIO_PDSR;
26 r2, .L6
27 0000 044A ldr r3, [r2, #60]
28 0002 D36B .LBE47:
29 .LBE46:
30 .loc 1 41 0
41:interrupt_Usart.c **** if ( (AT91F_PIO_GetInput(AT91C_BASE_PIOA) & Led ) == Led )
31 r3, r3, r0
32 0004 0340 cmp r0, r3
33 0006 9842 bne .L2
34 0008 01D1 .LBB48:
35 .LBB49:
36 .loc 2 620 0
587:../../include/lib_AT91SAM7S256.h **** }
588:../../include/lib_AT91SAM7S256.h ****
589:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
590:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_IsInputSet
591:../../include/lib_AT91SAM7S256.h **** //* \brief Test if PIO is input flag is active
592:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
593:../../include/lib_AT91SAM7S256.h **** __inline int AT91F_PIO_IsInputSet(
594:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
595:../../include/lib_AT91SAM7S256.h **** unsigned int flag) // \arg flag to be tested
596:../../include/lib_AT91SAM7S256.h **** {
597:../../include/lib_AT91SAM7S256.h **** return (AT91F_PIO_GetInput(pPio) & flag);
598:../../include/lib_AT91SAM7S256.h **** }
599:../../include/lib_AT91SAM7S256.h ****
600:../../include/lib_AT91SAM7S256.h ****
601:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
602:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_SetOutput
603:../../include/lib_AT91SAM7S256.h **** //* \brief Set to 1 output PIO
604:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
605:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_SetOutput(
606:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
607:../../include/lib_AT91SAM7S256.h **** unsigned int flag) // \arg output to be set
608:../../include/lib_AT91SAM7S256.h **** {
609:../../include/lib_AT91SAM7S256.h **** pPio->PIO_SODR = flag;
610:../../include/lib_AT91SAM7S256.h **** }
611:../../include/lib_AT91SAM7S256.h ****
612:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
613:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_PIO_ClearOutput
614:../../include/lib_AT91SAM7S256.h **** //* \brief Set to 0 output PIO
615:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
616:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_PIO_ClearOutput(
617:../../include/lib_AT91SAM7S256.h **** AT91PS_PIO pPio, // \arg pointer to a PIO controller
618:../../include/lib_AT91SAM7S256.h **** unsigned int flag) // \arg output to be cleared
619:../../include/lib_AT91SAM7S256.h **** {
620:../../include/lib_AT91SAM7S256.h **** pPio->PIO_CODR = flag;
37 0, [r2, #52]
38 000a 5063 b .L5
39 000c 01E0 .L2:
40 .LBE49:
41 .LBE48:
42 .LBB50:
43 .LBB51:
44 .loc 2 609 0
45 ldr r3, .L6
46 000e 014B str r0, [r3, #48]
47 0010 1863 .L5:
48 .LBE51:
49 .LBE50:
50 .loc 1 49 0
42:interrupt_Usart.c **** {
43:interrupt_Usart.c **** AT91F_PIO_ClearOutput( AT91C_BASE_PIOA, Led );
44:interrupt_Usart.c **** }
45:interrupt_Usart.c **** else
46:interrupt_Usart.c **** {
47:interrupt_Usart.c **** AT91F_PIO_SetOutput( AT91C_BASE_PIOA, Led );
48:interrupt_Usart.c **** }
49:interrupt_Usart.c **** }
51 or prologue
52 bx lr
53 0012 7047 .L7:
54 .align 2
55 .L6:
56 .word -3072
57 0014 00F4FFFF .LFE290:
59 .section .text.Usart_c_irq_handler,"ax",%progbits
60 .align 2
61 .global Usart_c_irq_handler
62 .code 16
63 .thumb_func
65 Usart_c_irq_handler:
66 .LFB291:
67 .loc 1 58 0
50:interrupt_Usart.c **** //*------------------------- Interrupt Function -------------------------------
51:interrupt_Usart.c ****
52:interrupt_Usart.c **** //*----------------------------------------------------------------------------
53:interrupt_Usart.c **** //* Function Name : Usart_c_irq_handler
54:interrupt_Usart.c **** //* Object : C handler interrupt function called by the interrupts
55:interrupt_Usart.c **** //* assembling routine
56:interrupt_Usart.c **** //*----------------------------------------------------------------------------
57:interrupt_Usart.c **** void Usart_c_irq_handler(void)
58:interrupt_Usart.c **** {
68 , r7, lr}
69 0000 F0B5 .LCFI0:
70 mov r7, r8
71 0002 4746 push {r7}
72 0004 80B4 .LCFI1:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -