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

📄 main.lst

📁 atmel at91SAM7a3 ADC sample
💻 LST
📖 第 1 页 / 共 5 页
字号:
 191:main.c        **** 		iprintf("IRQ disabled, ");
 192:main.c        **** 	}
 193:main.c        **** 	else {
 194:main.c        **** 		iprintf("IRQ enabled, ");
 195:main.c        **** 	}
 196:main.c        **** 	
 197:main.c        **** 	if ( cpsr & F_Bit ) {
 198:main.c        **** 		iprintf("FIQ disabled\n");
 199:main.c        **** 	}
 200:main.c        **** 	else {
 201:main.c        **** 		iprintf("FIQ enabled\n");
 202:main.c        **** 	}
 203:main.c        **** }
 204:main.c        **** 
 205:main.c        **** static void showsp(void)
 206:main.c        **** {
 207:main.c        **** 	unsigned long mysp;
 208:main.c        **** 	asm volatile ("mov %0, r13" : "=r" (mysp) );
 209:main.c        **** 	iprintf("SP = 0x%08lx\n", mysp);
 210:main.c        **** }
 211:main.c        **** 
 212:main.c        **** static unsigned long gettick()
 213:main.c        **** {
 214:main.c        **** 	unsigned long state, res;
 215:main.c        **** 	
 216:main.c        **** 	state = IntDisable();
 217:main.c        **** 	res = systick;
 218:main.c        **** 	IntRestore(state);
 219:main.c        **** 	
 220:main.c        **** 	return res;
 221:main.c        **** }
 222:main.c        **** 
 223:main.c        **** static void test_tick(void)
 224:main.c        **** {
 225:main.c        **** 	iprintf("Current systick %lu\n", gettick() );
 226:main.c        **** }
 227:main.c        **** 
 228:main.c        **** //*--------------------------------------------------------------------------------------
 229:main.c        **** //* Function Name       : wait
 230:main.c        **** //* Object              : Software waiting loop
 231:main.c        **** //* Input Parameters    : none. Waiting time is defined by the global variable LedSpeed.
 232:main.c        **** //* Output Parameters   : none
 233:main.c        **** //*--------------------------------------------------------------------------------------
 234:main.c        **** static void wait ( void )
 235:main.c        **** {//* Begin
  19              		.loc 1 235 0  20 0000 81B0     		sub	sp, sp, #4  21              	.LCFI0:  22              		@ lr needed for prologue 236:main.c        ****     volatile unsigned int waiting_time ;
 237:main.c        ****     for(waiting_time = 0; waiting_time < LedSpeed; waiting_time++) ;
  23              		.loc 1 237 0  24 0002 0023     		mov	r3, #0  25 0004 0093     		str	r3, [sp]  26              	.LVL0:  27 0006 009A     		ldr	r2, [sp]  28 0008 054B     		ldr	r3, .L7  29 000a 1968     		ldr	r1, [r3]  30 000c 8A42     		cmp	r2, r1  31 000e 05D2     		bcs	.L4  32              	.L5:  33 0010 009B     		ldr	r3, [sp]  34 0012 0133     		add	r3, r3, #1  35 0014 0093     		str	r3, [sp]  36 0016 009B     		ldr	r3, [sp]  37 0018 8B42     		cmp	r3, r1  38 001a F9D3     		bcc	.L5  39              	.L4: 238:main.c        **** }//* End
  40              		.loc 1 238 0  41 001c 01B0     		add	sp, sp, #4  42              		@ sp needed for prologue  43 001e 7047     		bx	lr  44              	.L8:  45              		.align	2  46              	.L7:  47 0020 00000000 		.word	LedSpeed  48              	.LFE393:  50              		.section	.fastrun,"ax",%progbits  51              		.align	2  52              		.global	Periodic_Interval_Timer_handler  53              		.code 16  54              		.thumb_func  56              	Periodic_Interval_Timer_handler:  57              	.LFB386:  58              		.loc 1 71 0  59 0000 81B0     		sub	sp, sp, #4  60              	.LCFI1:  61              		@ lr needed for prologue  62              		.loc 1 76 0  63 0002 094B     		ldr	r3, .L14  64 0004 9B68     		ldr	r3, [r3, #8]  65 0006 0093     		str	r3, [sp]  66              	.LVL1:  67              		.loc 1 79 0  68 0008 084A     		ldr	r2, .L14+4  69 000a 1368     		ldr	r3, [r2]  70 000c 0133     		add	r3, r3, #1  71 000e 1360     		str	r3, [r2]  72              	.LBB8:  73              	.LBB9:  74              		.file 2 "./common/lib_AT91SAM7A3.h"   1:./common/lib_AT91SAM7A3.h **** //* ----------------------------------------------------------------------------
   2:./common/lib_AT91SAM7A3.h **** //*         ATMEL Microcontroller Software Support  -  ROUSSET  -
   3:./common/lib_AT91SAM7A3.h **** //* ----------------------------------------------------------------------------
   4:./common/lib_AT91SAM7A3.h **** //* DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
   5:./common/lib_AT91SAM7A3.h **** //* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   6:./common/lib_AT91SAM7A3.h **** //* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
   7:./common/lib_AT91SAM7A3.h **** //* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
   8:./common/lib_AT91SAM7A3.h **** //* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   9:./common/lib_AT91SAM7A3.h **** //* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
  10:./common/lib_AT91SAM7A3.h **** //* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  11:./common/lib_AT91SAM7A3.h **** //* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  12:./common/lib_AT91SAM7A3.h **** //* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  13:./common/lib_AT91SAM7A3.h **** //* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14:./common/lib_AT91SAM7A3.h **** //* ----------------------------------------------------------------------------
  15:./common/lib_AT91SAM7A3.h **** //* File Name           : lib_AT91SAM7A3.h
  16:./common/lib_AT91SAM7A3.h **** //* Object              : AT91SAM7A3 inlined functions
  17:./common/lib_AT91SAM7A3.h **** //* Generated           : AT91 SW Application Group  09/13/2005 (09:48:02)
  18:./common/lib_AT91SAM7A3.h **** //*
  19:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_MC_SAM.h/1.3/Wed Apr 28 09:02:35 2004//
  20:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_pdc.h/1.2/Tue Jul  2 12:29:40 2002//
  21:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_dbgu.h/1.1/Fri Jan 31 12:18:40 2003//
  22:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_shdwc_6122A.h/1.1/Wed Oct  6 13:06:00 2004//
  23:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_spi2.h/1.2/Tue Aug 23 15:43:14 2005//
  24:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_ssc.h/1.4/Fri Jan 31 12:19:20 2003//
  25:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_PWM_SAM.h/1.3/Wed Dec  3 10:23:10 2003//
  26:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_tc_1753b.h/1.1/Fri Jan 31 12:20:02 2003//
  27:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_pitc_6079A.h/1.2/Thu Nov  4 14:01:11 2004//
  28:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_adc.h/1.6/Fri Oct 17 08:12:38 2003//
  29:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_pmc_SAM.h/1.9/Tue Aug 30 13:03:40 2005//
  30:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_rstc_6098A.h/1.1/Wed Oct  6 09:39:19 2004//
  31:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_pio.h/1.3/Fri Jan 31 12:18:56 2003//
  32:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_rttc_6081A.h/1.1/Wed Oct  6 09:39:38 2004//
  33:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_twi.h/1.3/Mon Jul 19 13:37:30 2004//
  34:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_usart.h/1.5/Thu Nov 21 16:01:53 2002//
  35:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_mci.h/1.7/Thu May 27 08:47:43 2004//
  36:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_wdtc_6080A.h/1.1/Wed Oct  6 09:38:30 2004//
  37:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_udp.h/1.5/Mon Aug 29 08:17:54 2005//
  38:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_aic_6075b.h/1.2/Mon Jul 18 11:06:01 2005//
  39:./common/lib_AT91SAM7A3.h **** //* CVS Reference       : /lib_can_AT91.h/1.5/Tue Aug 23 15:42:51 2005//
  40:./common/lib_AT91SAM7A3.h **** //* ----------------------------------------------------------------------------
  41:./common/lib_AT91SAM7A3.h **** 
  42:./common/lib_AT91SAM7A3.h **** #ifndef lib_AT91SAM7A3_H
  43:./common/lib_AT91SAM7A3.h **** #define lib_AT91SAM7A3_H
  44:./common/lib_AT91SAM7A3.h **** 
  45:./common/lib_AT91SAM7A3.h **** /* *****************************************************************************
  46:./common/lib_AT91SAM7A3.h ****                 SOFTWARE API FOR AIC
  47:./common/lib_AT91SAM7A3.h ****    ***************************************************************************** */
  48:./common/lib_AT91SAM7A3.h **** #define AT91C_AIC_BRANCH_OPCODE ((void (*) ()) 0xE51FFF20) // ldr, pc, [pc, #-&F20]
  49:./common/lib_AT91SAM7A3.h **** 
  50:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
  51:./common/lib_AT91SAM7A3.h **** //* \fn    AT91F_AIC_ConfigureIt
  52:./common/lib_AT91SAM7A3.h **** //* \brief Interrupt Handler Initialization
  53:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
  54:./common/lib_AT91SAM7A3.h **** __inline unsigned int AT91F_AIC_ConfigureIt (
  55:./common/lib_AT91SAM7A3.h **** 	AT91PS_AIC pAic,  // \arg pointer to the AIC registers
  56:./common/lib_AT91SAM7A3.h **** 	unsigned int irq_id,     // \arg interrupt number to initialize
  57:./common/lib_AT91SAM7A3.h **** 	unsigned int priority,   // \arg priority to give to the interrupt
  58:./common/lib_AT91SAM7A3.h **** 	unsigned int src_type,   // \arg activation and sense of activation
  59:./common/lib_AT91SAM7A3.h **** 	void (*newHandler) () ) // \arg address of the interrupt handler
  60:./common/lib_AT91SAM7A3.h **** {
  61:./common/lib_AT91SAM7A3.h **** 	unsigned int oldHandler;
  62:./common/lib_AT91SAM7A3.h ****     unsigned int mask ;
  63:./common/lib_AT91SAM7A3.h **** 
  64:./common/lib_AT91SAM7A3.h ****     oldHandler = pAic->AIC_SVR[irq_id];
  65:./common/lib_AT91SAM7A3.h **** 
  66:./common/lib_AT91SAM7A3.h ****     mask = 0x1 << irq_id ;
  67:./common/lib_AT91SAM7A3.h ****     //* Disable the interrupt on the interrupt controller
  68:./common/lib_AT91SAM7A3.h ****     pAic->AIC_IDCR = mask ;
  69:./common/lib_AT91SAM7A3.h ****     //* Save the interrupt handler routine pointer and the interrupt priority
  70:./common/lib_AT91SAM7A3.h ****     pAic->AIC_SVR[irq_id] = (unsigned int) newHandler ;
  71:./common/lib_AT91SAM7A3.h ****     //* Store the Source Mode Register
  72:./common/lib_AT91SAM7A3.h ****     pAic->AIC_SMR[irq_id] = src_type | priority  ;
  73:./common/lib_AT91SAM7A3.h ****     //* Clear the interrupt on the interrupt controller
  74:./common/lib_AT91SAM7A3.h ****     pAic->AIC_ICCR = mask ;
  75:./common/lib_AT91SAM7A3.h **** 
  76:./common/lib_AT91SAM7A3.h **** 	return oldHandler;
  77:./common/lib_AT91SAM7A3.h **** }
  78:./common/lib_AT91SAM7A3.h **** 
  79:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
  80:./common/lib_AT91SAM7A3.h **** //* \fn    AT91F_AIC_EnableIt
  81:./common/lib_AT91SAM7A3.h **** //* \brief Enable corresponding IT number
  82:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
  83:./common/lib_AT91SAM7A3.h **** __inline void AT91F_AIC_EnableIt (
  84:./common/lib_AT91SAM7A3.h **** 	AT91PS_AIC pAic,      // \arg pointer to the AIC registers
  85:./common/lib_AT91SAM7A3.h **** 	unsigned int irq_id ) // \arg interrupt number to initialize
  86:./common/lib_AT91SAM7A3.h **** {
  87:./common/lib_AT91SAM7A3.h ****     //* Enable the interrupt on the interrupt controller
  88:./common/lib_AT91SAM7A3.h ****     pAic->AIC_IECR = 0x1 << irq_id ;
  89:./common/lib_AT91SAM7A3.h **** }
  90:./common/lib_AT91SAM7A3.h **** 
  91:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
  92:./common/lib_AT91SAM7A3.h **** //* \fn    AT91F_AIC_DisableIt
  93:./common/lib_AT91SAM7A3.h **** //* \brief Disable corresponding IT number
  94:./common/lib_AT91SAM7A3.h **** //*----------------------------------------------------------------------------
  95:./common/lib_AT91SAM7A3.h **** __inline void AT91F_AIC_DisableIt (
  96:./common/lib_AT91SAM7A3.h **** 	AT91PS_AIC pAic,      // \arg pointer to the AIC registers
  97:./common/lib_AT91SAM7A3.h **** 	unsigned int irq_id ) // \arg interrupt number to initialize
  98:./common/lib_AT91SAM7A3.h **** {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -