亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spiloop.asm

?? TI公司官方的SPI例子,對新手應該有用.
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;              received.  Because the SPIBUF register was not read after
;              the first interrupt, the second character should generate 
;              a receiver overrun interrupt.  This is checked in the low
;              priority ISR by reading the RECEIVER OVERRUN Flag Bit in
;              the SPI Status Register (SPISTS).  The word "BAD" will be 
;              in B2 at the end of the test is an error condition is
;              detected.
; Originator: J. Crankshaw
;
; Calling Convention: Assumes DP = 224 (7000h - 707fh)
;
;   Variables		on Entry		on Exit
; ----------------------------------------------------------------
; ----------------------------------------------------------------
; History: 
; Last Update:	10-18-96
;===========================================================================
SPILOOP:
* Initialize Auxilliary Registers
	LAR	AR2,#RX1_ERLOG
	LAR	AR3,#RX_char1
	LAR	AR4,#INT_FLAG
	LAR	AR5,#Ivr1
	MAR	*,AR2		; use AR2 as the next Aux register

* initialize SPI in master mode
	SPLK	#0087h,SPICCR	; Reset SPI by writing 1 to SWRST
	SPLK	#000Ch,SPICTL	; Disable ints & TALK, normal clock, master mode
	SPLK	#0000h,SPIPRI	; Set SPI interrupt to level 1 (high priority)
	SPLK	#0000h,SPIBRR	; Set baud rate to 'fastest'
	SPLK	#000Fh,SPICTL	; Enable TALK & RCV int, CLK ph 1, master mode
	SPLK	#0052h,SPIPC1	; STE pin drives 1, SPICLK to clock out
	SPLK	#0022h,SPIPC2	; Set SIMO & SOMI functions to serial I/O
	SPLK	#0007h,SPICCR	; Release SWRST, clock polarity 0, 8 bits

* Initialize DSP for interrupts
     LAR  AR6,#IMR       ; 
     LAR  AR7,#IFR       ;
     MAR  *,AR6
     LACL #011h          ;
	SACL *,AR7          ; Enable interrupts 1 & 5 only
	LACL	*    		; Clear IFR by reading and
	SACL	*,AR2		; writing contents back into itself

	CLRC	INTM           ; Enable DSP interrupts

**********************************************************
* Begin 1st Xmit (to SPI #1)                             *
**********************************************************
	LACC	#Char1		; ACC <= 1st byte to xmit
	SACL	SPIDAT		; Xmit 1st byte
	IDLE			     ; Wait for rcv interrupt, returns w/ ARP=AR2

**********************************************************
* Setup for transmit to SPI #2 with interrupt level 2	 *
**********************************************************
	SPLK	#0040h,SPIPRI	; Set SPI interrupt to level 2 (low priority)
	LAR	AR2,#RX2_ERLOG ; storage for 2nd RX error log
	LAR	AR3,#RX_char2  ; storage for 2nd char
	LAR	AR4,#OVER_RUN  ; storage for 2nd SPISTS
	LAR	AR5,#Ivr2	     ; Storage for level 2 IVR

* Read-modify-write sequence to enable Receiver OVERRUN interrupt
     LACL SPICTL         ; read:   ACC <= SPI control register
     OR   #010h          ; modify: set bit 4, Receiver OVERRUN interrupt enable bit
     SACL SPICTL         ; write:  SPICTL <= ACC

**********************************************************
* Begin 2nd Xmit (to SPI #2)                             *
**********************************************************
	LACC	#Char2		; ACC <= 2nd byte to xmit
	SACL	SPIDAT		; Xmit 2nd byte
	IDLE			     ; Wait for rcv interrupt, returns w/ ARP=AR2

     RET
*******************************************************************************
*                ISR's                                                        *
*******************************************************************************
;==============================================================================
; I S R  -  PHANTOM
;
; Description:	ISR used to trap spurious interrupts.
;              Reads System Interrupt Vector register to capture
;              vector of module that caused the interrupt.
;
; Modifies:	Changes DP and ACC.  Loads vector into 61h and BADh into 60h.
;
; Last Update:	10-17-96
;==============================================================================
PHANTOM 	
     LDP  #DP_PF1        ; go to peripheral file data page 1
	LACL	SYSIVR		; ACC <= [SYSIVR]           
     LDP  #0             ; go to first data page, with B2
	SACL	B2_SADDR+1	; 61h <= [SYSIVR]
	SPLK	#0deadh,B2_SADDR	; 60h <= "dead" value indicates error
	B	END		; Terminate gracefully

;==============================================================================
; I S R  -  INT1 interrupt service routine
;
; Description:	ISR for SPI Rx/Tx Interrupt.  Assumes no other sources are
;			enabled on INT1 besides the SPI.  No context save/restore
;			is performed since this is test code only.  No other modules
;			are running.
;
; Modifies:	ARP, ACC, assumes AR2-AR5 loaded in SPILOOP subroutine
;
; Last Update:	2 Feb 98
;==============================================================================
INT1_ISR  			; Interrupt 1 Interrupt Service Routine

	MAR	*,AR3          ; use RX_char1 for next indirect
     LACL SPIEMU         ; ACC <= SPI Emualtion Buffer Register (mirror of SPIBUF)
     SACL *,AR4          ; store value in B2 @ RX_char1
                         ; use INT_FLAG for next indirect
	LACL	SPISTS		; ACC <= SPI Status Register
     AND  #0C0h          ; clear all bits except SPI INT FLAG bit (SPISTS.6)
                         ; and RECEIVER OVERRUN bit (SPISTS.7)
     SACL *,AR2          ; store SPISTS value to INT_FLAG
                         ; use ERRLOG for next indirect
     AND  #040h          ; clear all bits except SPI INT FLAG bit (SPISTS.6)
     XOR  #040h          ; xor will clear bit 6 in ACC if SPISTS.6 was set
     BCND IVR,EQ         ; branch to next section if bit 6 was set
     SPLK #0BADh,*,AR5   ; Write "BAD" to ERRLOG 
                         ; use IVR1 for next indirect
IVR	MAR  *,AR5          ; use IVR1 for next indirect
     LACL	SYSIVR		; ACC <= interrupt vector
	SACL	*,0,AR2		; Ivr[i] <= interrupt vector
				     ; Use ERRLOG for next indirect
     XOR  #SPIvector     ; compare with expected value
     BCND RMW1,EQ        ; skip error writing if match
     SPLK #0BADh,*       ; write BAD to error log in B2

* Read-modify-write sequence to disable SPI interrupts
RMW1 LACL SPICTL         ; read:   ACC <= SPI control register
     AND  #0FEh          ; modify: clear bit 0, SPI interrupt enable bit
     SACL SPICTL         ; write:  SPICTL <= ACC

	CLRC	INTM		     ; Enable DSP interrupts
	RET			     ; Return from interrupt

;==============================================================================
; I S R  -  INT5 interrupt service routine
;
; Description:	ISR for SPI Rx/Tx Interrupt.  Assumes no other sources are
;			enabled on INT5 besides the SPI.  No context save/restore
;			is performed since this is test code only.  No other modules
;			are running.
;
; Modifies:	ARP, ACC, assumes AR2-AR5 loaded in SPILOOP subroutine
;
; Last Update:	2 Feb 98
;==============================================================================
INT5_ISR  			; Interrupt 5 Interrupt Service Routine

	MAR	*,AR3          ; use RX_char2 for next indirect
     LACL SPIBUF         ; ACC <= SPI Buffer Register
     SACL *,AR4          ; store value in B2 @ RX_char2
                         ; use OVER_RUN for next indirect
	LACL	SPISTS		; ACC <= SPI Status Register
     AND  #0C0h          ; clear all bits except SPI INT FLAG bit (SPISTS.6)
                         ; and RECEIVER OVERRUN bit (SPISTS.7)
     SACL *,AR2          ; store SPISTS value to OVER_RUN
                         ; use ERRLOG for next indirect
     AND  #080h          ; clear all bits except RECEIVER OVERRUN bit (SPISTS.7)
     XOR  #080h          ; xor will clear bit 7 in ACC if SPISTS.7 was set
     BCND IVR2,EQ        ; branch to next section if bit 7 was set
     SPLK #0BADh,*,AR5   ; Write "BAD" to ERRLOG 
                         ; use IVR1 for next indirect
IVR2	MAR  *,AR5
     LACL	SYSIVR		; ACC <= interrupt vector
	SACL	*,0,AR2		; Ivr[i] <= interrupt vector
				     ; Use ERRLOG for next indirect
     XOR  #SPIvector       ; compare with expected value
     BCND RMW2,EQ        ; skip error writing if match
     SPLK #0BADh,*       ; write BAD to error log in B2

* Read-modify-write sequence to disable SPI interrupts
RMW2 LACL SPICTL         ; read:   ACC <= SPI control register
     AND  #0EEh          ; modify: clear bits 0 & 4, SPI interrupt enable 
                         ;         and receiver overrun bits
     SACL SPICTL         ; write:  SPICTL <= ACC

	CLRC	INTM		     ; Enable DSP interrupts
	RET			     ; Return from interrupt

	.end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人久久爱| 99久久99久久免费精品蜜臀| 国产欧美日韩另类视频免费观看| 91免费在线看| 国产一区二区三区精品视频| 一区二区三区资源| 久久久久久黄色| 91精品欧美久久久久久动漫| 99久久精品免费看| 国产专区欧美精品| 偷拍与自拍一区| 国产精品不卡在线观看| 久久综合九色综合97_久久久| 欧美精品一二三四| 在线看不卡av| 99精品视频一区| 国产成人免费视| 激情另类小说区图片区视频区| 亚洲一区中文在线| 最新不卡av在线| 国产精品亲子伦对白| 26uuu国产电影一区二区| 欧美日韩国产综合一区二区三区| jvid福利写真一区二区三区| 国产丶欧美丶日本不卡视频| 久久99九九99精品| 日韩在线卡一卡二| 亚洲福利一区二区三区| 亚洲精品网站在线观看| 国产精品高潮呻吟| 亚洲国产成人私人影院tom | 日韩一区二区三区视频在线| 欧美性猛片aaaaaaa做受| www.在线成人| 波多野结衣中文字幕一区 | 国产高清精品在线| 国产乱子轮精品视频| 国产制服丝袜一区| 国产精品一区二区在线观看网站 | 国产精品一区二区你懂的| 免费在线欧美视频| 久久精品国产精品亚洲红杏| 免费成人小视频| 激情深爱一区二区| 国产精品1区2区| 成人综合婷婷国产精品久久| 国产99久久精品| av一区二区三区在线| 99久久久免费精品国产一区二区| 97se亚洲国产综合自在线观| 色又黄又爽网站www久久| 色综合一区二区| 欧美优质美女网站| 欧美日韩国产首页| 6080日韩午夜伦伦午夜伦| 日韩一区二区影院| 久久九九久久九九| 国产精品第13页| 夜夜揉揉日日人人青青一国产精品| 亚洲一区二区视频在线观看| 日韩av在线播放中文字幕| 久久精品国内一区二区三区| 国产传媒欧美日韩成人| 成a人片国产精品| 欧美日韩国产首页在线观看| 欧美mv日韩mv国产| 亚洲国产精品av| 亚洲激情图片小说视频| 日韩成人一级大片| 国内精品自线一区二区三区视频| 丁香婷婷综合网| 在线免费一区三区| 日韩欧美亚洲国产精品字幕久久久 | 美女精品一区二区| 国产一区二区三区不卡在线观看| 成人国产视频在线观看| 欧美日韩国产中文| 国产亚洲1区2区3区| 一区二区三区加勒比av| 久草精品在线观看| 91片黄在线观看| 日韩欧美aaaaaa| 亚洲精选视频免费看| 男女男精品视频网| 99免费精品视频| 日韩欧美国产麻豆| 樱桃视频在线观看一区| 久久99精品久久久久久| 91福利在线播放| 国产三区在线成人av| 亚洲1区2区3区4区| 99视频一区二区| www日韩大片| 亚洲国产另类av| 成人性生交大片免费看视频在线 | 久久先锋影音av鲁色资源网| 亚洲综合在线免费观看| 国产麻豆视频一区| 91麻豆精品91久久久久同性| 18欧美乱大交hd1984| 久久精品久久99精品久久| 欧美在线|欧美| 亚洲视频一二区| 国产一区二区福利| 制服丝袜亚洲色图| 一区二区三区精品在线观看| 成人午夜av影视| 久久精品一区二区三区不卡牛牛| 日韩精品一级中文字幕精品视频免费观看| 国产suv精品一区二区6| 精品三级av在线| 日本美女一区二区三区视频| 欧美午夜电影一区| 亚洲另类春色国产| 成人美女在线观看| 日本一区二区成人| 黄一区二区三区| 日韩美女在线视频| 日韩精品乱码av一区二区| 色屁屁一区二区| 国产精品国产三级国产专播品爱网| 极品少妇xxxx精品少妇| 日韩一区二区三区视频| 日韩av电影免费观看高清完整版| 欧美亚洲综合色| 一区二区三区不卡视频在线观看 | 精品免费视频一区二区| 日日嗨av一区二区三区四区| 欧美日韩你懂的| 亚洲国产日韩a在线播放| 在线观看日韩国产| 一区二区三区四区视频精品免费| av中文字幕一区| 成人免费在线视频| 色婷婷国产精品综合在线观看| 中文字幕制服丝袜一区二区三区 | 亚洲人成精品久久久久久| 99热99精品| 亚洲精品国产精品乱码不99| 97精品国产97久久久久久久久久久久 | 国产精品综合二区| 精品福利二区三区| 国产精品影视在线| 国产欧美日韩精品一区| 国产乱码精品一区二区三区五月婷| 精品成人免费观看| 国产在线看一区| 中日韩av电影| 色天使色偷偷av一区二区| 五月婷婷另类国产| 日韩欧美国产成人一区二区| 精品在线视频一区| 国产精品久久国产精麻豆99网站 | 91麻豆自制传媒国产之光| 亚洲综合丝袜美腿| 欧美一区二区免费观在线| 韩国av一区二区三区在线观看| 久久久久国产成人精品亚洲午夜| 国产91色综合久久免费分享| 中文字幕综合网| 91麻豆精品国产91久久久更新时间 | 精品午夜久久福利影院| 久久久久国产一区二区三区四区| fc2成人免费人成在线观看播放| 亚洲小说春色综合另类电影| 欧美一级二级三级蜜桃| 国产高清精品在线| 亚洲h在线观看| 久久蜜桃av一区精品变态类天堂| 成人免费毛片aaaaa**| 亚洲成人tv网| 久久精品欧美日韩精品| 91行情网站电视在线观看高清版| 三级欧美在线一区| 国产日韩欧美高清| 欧美福利一区二区| 国产一区二区电影| 亚洲一区二区三区四区中文字幕| 欧美变态口味重另类| eeuss鲁一区二区三区| 日本欧美一区二区在线观看| 中文字幕乱码一区二区免费| 制服丝袜亚洲色图| 99久久精品国产麻豆演员表| 裸体歌舞表演一区二区| 亚洲精品欧美综合四区| 日韩视频免费观看高清完整版| eeuss影院一区二区三区| 蜜臀99久久精品久久久久久软件| 国产精品久久久久影视| 日韩一级二级三级| 91福利视频在线| 成人一级视频在线观看| 久久99国产精品尤物| 亚洲激情在线播放| 国产精品久久久久毛片软件| 精品国产一二三| 欧美日韩国产综合一区二区| 92国产精品观看| 国产成人精品网址|