📄 interrupt_usart.lst
字号:
1 .code 16
2 .file "interrupt_Usart.c"
10 .Ltext0:
11 .section .text.Trace_Toggel_LED,"ax",%progbits
12 .align 2
13 .global Trace_Toggel_LED
14 .code 16
15 .thumb_func
17 Trace_Toggel_LED:
18 .LFB290:
19 .file 1 "interrupt_Usart.c"
1:interrupt_Usart.c **** //*----------------------------------------------------------------------------
2:interrupt_Usart.c **** //* ATMEL Microcontroller Software Support - ROUSSET -
3:interrupt_Usart.c **** //*----------------------------------------------------------------------------
4:interrupt_Usart.c **** //* The software is delivered "AS IS" without warranty or condition of any
5:interrupt_Usart.c **** //* kind, either express, implied or statutory. This includes without
6:interrupt_Usart.c **** //* limitation any warranty or condition with respect to merchantability or
7:interrupt_Usart.c **** //* fitness for any particular purpose, or against the infringements of
8:interrupt_Usart.c **** //* intellectual property rights of others.
9:interrupt_Usart.c **** //*----------------------------------------------------------------------------
10:interrupt_Usart.c **** //* File Name : interrupt_Usart.c
11:interrupt_Usart.c **** //* Object : USART Interrupt Management
12:interrupt_Usart.c **** //*
13:interrupt_Usart.c **** //* 1.0 14/Dec/04 JPP : Creation
14:interrupt_Usart.c **** //* 1.1 29/Aug/05 JPP : Update AIC definion
15:interrupt_Usart.c **** //*----------------------------------------------------------------------------
16:interrupt_Usart.c ****
17:interrupt_Usart.c ****
18:interrupt_Usart.c **** // Include Standard LIB files
19:interrupt_Usart.c **** #include "Project.h"
20:interrupt_Usart.c ****
21:interrupt_Usart.c ****
22:interrupt_Usart.c **** #include "cdc_enumerate.h"
23:interrupt_Usart.c ****
24:interrupt_Usart.c **** #define USART_INTERRUPT_LEVEL 1
25:interrupt_Usart.c ****
26:interrupt_Usart.c **** AT91PS_USART COM0;
27:interrupt_Usart.c **** #define USART_BAUD_RATE 38400
28:interrupt_Usart.c ****
29:interrupt_Usart.c **** extern struct _AT91S_CDC pCDC;
30:interrupt_Usart.c **** static char buff_rx[100];
31:interrupt_Usart.c **** static char buff_rx1[100];
32:interrupt_Usart.c **** unsigned int first =0;
33:interrupt_Usart.c **** //*------------------------- Internal Function --------------------------------
34:interrupt_Usart.c ****
35:interrupt_Usart.c **** //*----------------------------------------------------------------------------
36:interrupt_Usart.c **** //* Function Name : Trace_Toggel_LED
37:interrupt_Usart.c **** //* Object : Toggel a LED
38:interrupt_Usart.c **** //*----------------------------------------------------------------------------
39:interrupt_Usart.c **** void Trace_Toggel_LED (unsigned int Led)
40:interrupt_Usart.c **** {
20
21 @ lr needed for prologue
22 .LBB46:
23 .LBB47:
24 .file 2 "../../include/lib_AT91SAM7S256.h"
25 .loc 2 586 0
1:../../include/lib_AT91SAM7S256.h **** //* ----------------------------------------------------------------------------
2:../../include/lib_AT91SAM7S256.h **** //* ATMEL Microcontroller Software Support - ROUSSET -
3:../../include/lib_AT91SAM7S256.h **** //* ----------------------------------------------------------------------------
4:../../include/lib_AT91SAM7S256.h **** //* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
5:../../include/lib_AT91SAM7S256.h **** //* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
6:../../include/lib_AT91SAM7S256.h **** //* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
7:../../include/lib_AT91SAM7S256.h **** //* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
8:../../include/lib_AT91SAM7S256.h **** //* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9:../../include/lib_AT91SAM7S256.h **** //* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
10:../../include/lib_AT91SAM7S256.h **** //* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
11:../../include/lib_AT91SAM7S256.h **** //* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
12:../../include/lib_AT91SAM7S256.h **** //* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13:../../include/lib_AT91SAM7S256.h **** //* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14:../../include/lib_AT91SAM7S256.h **** //* ----------------------------------------------------------------------------
15:../../include/lib_AT91SAM7S256.h **** //* File Name : lib_AT91SAM7S256.h
16:../../include/lib_AT91SAM7S256.h **** //* Object : AT91SAM7S256 inlined functions
17:../../include/lib_AT91SAM7S256.h **** //* Generated : AT91 SW Application Group 01/16/2006 (16:36:07)
18:../../include/lib_AT91SAM7S256.h **** //*
19:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_MC_SAM7S.h/1.1/Thu Mar 25 15:19:14 2004//
20:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_pdc.h/1.2/Tue Jul 2 13:29:40 2002//
21:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_dbgu.h/1.1/Thu Aug 25 12:56:22 2005//
22:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_VREG_6085B.h/1.1/Tue Feb 1 16:20:47 2005//
23:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_ssc.h/1.4/Fri Jan 31 12:19:20 2003//
24:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_spi2.h/1.2/Tue Aug 23 15:37:28 2005//
25:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_PWM_SAM.h/1.3/Thu Jan 22 10:10:50 2004//
26:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_tc_1753b.h/1.1/Fri Jan 31 12:20:02 2003//
27:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_pitc_6079A.h/1.2/Tue Nov 9 14:43:56 2004//
28:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_pmc_SAM7S.h/1.5/Fri Nov 4 09:37:21 2005//
29:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_adc.h/1.6/Fri Oct 17 09:12:38 2003//
30:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_rstc_6098A.h/1.1/Wed Oct 6 10:39:20 2004//
31:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_rttc_6081A.h/1.1/Wed Oct 6 10:39:38 2004//
32:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_pio.h/1.3/Fri Jan 31 12:18:56 2003//
33:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_twi.h/1.3/Mon Jul 19 14:27:58 2004//
34:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_wdtc_6080A.h/1.1/Wed Oct 6 10:38:30 2004//
35:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_usart.h/1.5/Thu Nov 21 16:01:54 2002//
36:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_udp.h/1.5/Tue Aug 30 12:13:47 2005//
37:../../include/lib_AT91SAM7S256.h **** //* CVS Reference : /lib_aic_6075b.h/1.2/Thu Jul 7 07:48:22 2005//
38:../../include/lib_AT91SAM7S256.h **** //* ----------------------------------------------------------------------------
39:../../include/lib_AT91SAM7S256.h ****
40:../../include/lib_AT91SAM7S256.h **** #ifndef lib_AT91SAM7S256_H
41:../../include/lib_AT91SAM7S256.h **** #define lib_AT91SAM7S256_H
42:../../include/lib_AT91SAM7S256.h ****
43:../../include/lib_AT91SAM7S256.h **** /* *****************************************************************************
44:../../include/lib_AT91SAM7S256.h **** SOFTWARE API FOR AIC
45:../../include/lib_AT91SAM7S256.h **** ***************************************************************************** */
46:../../include/lib_AT91SAM7S256.h **** #define AT91C_AIC_BRANCH_OPCODE ((void (*) ()) 0xE51FFF20) // ldr, pc, [pc, #-&F20]
47:../../include/lib_AT91SAM7S256.h ****
48:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
49:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_AIC_ConfigureIt
50:../../include/lib_AT91SAM7S256.h **** //* \brief Interrupt Handler Initialization
51:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
52:../../include/lib_AT91SAM7S256.h **** __inline unsigned int AT91F_AIC_ConfigureIt (
53:../../include/lib_AT91SAM7S256.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
54:../../include/lib_AT91SAM7S256.h **** unsigned int irq_id, // \arg interrupt number to initialize
55:../../include/lib_AT91SAM7S256.h **** unsigned int priority, // \arg priority to give to the interrupt
56:../../include/lib_AT91SAM7S256.h **** unsigned int src_type, // \arg activation and sense of activation
57:../../include/lib_AT91SAM7S256.h **** void (*newHandler) () ) // \arg address of the interrupt handler
58:../../include/lib_AT91SAM7S256.h **** {
59:../../include/lib_AT91SAM7S256.h **** unsigned int oldHandler;
60:../../include/lib_AT91SAM7S256.h **** unsigned int mask ;
61:../../include/lib_AT91SAM7S256.h ****
62:../../include/lib_AT91SAM7S256.h **** oldHandler = pAic->AIC_SVR[irq_id];
63:../../include/lib_AT91SAM7S256.h ****
64:../../include/lib_AT91SAM7S256.h **** mask = 0x1 << irq_id ;
65:../../include/lib_AT91SAM7S256.h **** //* Disable the interrupt on the interrupt controller
66:../../include/lib_AT91SAM7S256.h **** pAic->AIC_IDCR = mask ;
67:../../include/lib_AT91SAM7S256.h **** //* Save the interrupt handler routine pointer and the interrupt priority
68:../../include/lib_AT91SAM7S256.h **** pAic->AIC_SVR[irq_id] = (unsigned int) newHandler ;
69:../../include/lib_AT91SAM7S256.h **** //* Store the Source Mode Register
70:../../include/lib_AT91SAM7S256.h **** pAic->AIC_SMR[irq_id] = src_type | priority ;
71:../../include/lib_AT91SAM7S256.h **** //* Clear the interrupt on the interrupt controller
72:../../include/lib_AT91SAM7S256.h **** pAic->AIC_ICCR = mask ;
73:../../include/lib_AT91SAM7S256.h ****
74:../../include/lib_AT91SAM7S256.h **** return oldHandler;
75:../../include/lib_AT91SAM7S256.h **** }
76:../../include/lib_AT91SAM7S256.h ****
77:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
78:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_AIC_EnableIt
79:../../include/lib_AT91SAM7S256.h **** //* \brief Enable corresponding IT number
80:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
81:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_AIC_EnableIt (
82:../../include/lib_AT91SAM7S256.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
83:../../include/lib_AT91SAM7S256.h **** unsigned int irq_id ) // \arg interrupt number to initialize
84:../../include/lib_AT91SAM7S256.h **** {
85:../../include/lib_AT91SAM7S256.h **** //* Enable the interrupt on the interrupt controller
86:../../include/lib_AT91SAM7S256.h **** pAic->AIC_IECR = 0x1 << irq_id ;
87:../../include/lib_AT91SAM7S256.h **** }
88:../../include/lib_AT91SAM7S256.h ****
89:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
90:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_AIC_DisableIt
91:../../include/lib_AT91SAM7S256.h **** //* \brief Disable corresponding IT number
92:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
93:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_AIC_DisableIt (
94:../../include/lib_AT91SAM7S256.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
95:../../include/lib_AT91SAM7S256.h **** unsigned int irq_id ) // \arg interrupt number to initialize
96:../../include/lib_AT91SAM7S256.h **** {
97:../../include/lib_AT91SAM7S256.h **** unsigned int mask = 0x1 << irq_id;
98:../../include/lib_AT91SAM7S256.h **** //* Disable the interrupt on the interrupt controller
99:../../include/lib_AT91SAM7S256.h **** pAic->AIC_IDCR = mask ;
100:../../include/lib_AT91SAM7S256.h **** //* Clear the interrupt on the Interrupt Controller ( if one is pending )
101:../../include/lib_AT91SAM7S256.h **** pAic->AIC_ICCR = mask ;
102:../../include/lib_AT91SAM7S256.h **** }
103:../../include/lib_AT91SAM7S256.h ****
104:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
105:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_AIC_ClearIt
106:../../include/lib_AT91SAM7S256.h **** //* \brief Clear corresponding IT number
107:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
108:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_AIC_ClearIt (
109:../../include/lib_AT91SAM7S256.h **** AT91PS_AIC pAic, // \arg pointer to the AIC registers
110:../../include/lib_AT91SAM7S256.h **** unsigned int irq_id) // \arg interrupt number to initialize
111:../../include/lib_AT91SAM7S256.h **** {
112:../../include/lib_AT91SAM7S256.h **** //* Clear the interrupt on the Interrupt Controller ( if one is pending )
113:../../include/lib_AT91SAM7S256.h **** pAic->AIC_ICCR = (0x1 << irq_id);
114:../../include/lib_AT91SAM7S256.h **** }
115:../../include/lib_AT91SAM7S256.h ****
116:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
117:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_AIC_AcknowledgeIt
118:../../include/lib_AT91SAM7S256.h **** //* \brief Acknowledge corresponding IT number
119:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
120:../../include/lib_AT91SAM7S256.h **** __inline void AT91F_AIC_AcknowledgeIt (
121:../../include/lib_AT91SAM7S256.h **** AT91PS_AIC pAic) // \arg pointer to the AIC registers
122:../../include/lib_AT91SAM7S256.h **** {
123:../../include/lib_AT91SAM7S256.h **** pAic->AIC_EOICR = pAic->AIC_EOICR;
124:../../include/lib_AT91SAM7S256.h **** }
125:../../include/lib_AT91SAM7S256.h ****
126:../../include/lib_AT91SAM7S256.h **** //*----------------------------------------------------------------------------
127:../../include/lib_AT91SAM7S256.h **** //* \fn AT91F_AIC_SetExceptionVector
128:../../include/lib_AT91SAM7S256.h **** //* \brief Configure vector handler
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -