⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interrupt_usart.lst

📁 高性能USB转串口(可高达10Mbps)完整的源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
   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 + -