timer.s

来自「一个基于ARM平台的触摸屏程序。」· S 代码 · 共 60 行

S
60
字号
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#include "system.h"
.global InitTimer1
.global Timer1Handler
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
InitTimer1:
	@clear timer1's status
	ldr		r0, =0x20090000	
	@set timer1 couter
	@system is 60M , 1 colock 1/60,000,000 send 
	ldr		r1,=0x007A1200	@0x80009680
	str		r1,[r0, #TIM_1]
	
	ldr		r0, =0x20090000	
	@set timer1 couter
	@system is 60M , 1 colock 1/60,000,000 send 
	ldr		r1,=0x007A1200	@0x80009680
	str		r1,[r0, #TIM_2]
	
	@enble timer1 and enable it's interrupt
	
	ldr		r0,=BASE_SYSTEM
	ldr		r1,[r0,#INT_Unmask]
	bic		r1,r1,#GPIO_TIMER_BIT
	str		r1,[r0,#INT_Unmask]
	
	mov		PC, LR	
	
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Timer1Handler:
   	mov		ip, sp
	stmdb		sp!, {fp, ip, lr, pc}
	sub		fp, ip, #4
	STMDB		SP!, {R0-R6}
	@--------------------------------------
	@set gpio_dir
	ldr		r0, =BASE_GPIO_TIMER
	ldr		r1,=0x0000ffff
	str		r1,[r0];
	
	@write gpio_out
	ldr		r1,=0xffffffff
	str		r1,[r0,#GPIO_OUT]	
	ldr		r1,=0x00000000
	str		r1,[r0,#GPIO_OUT]
	
	bl 		timerInt
	
	@clear timer1 interrupt status
	
	ldr		r1,=0x80009680
	str		r1,[r0, #TIM_1]
	

	@--------------------------------------
	LDMIA		SP!, {R0-R6}	
    	ldmdb		fp, {fp, sp, pc}
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

⌨️ 快捷键说明

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