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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lpnonstreaming.asm

?? CYRF6936 zigbee模塊設(shè)計(jì)的全部資料
?? ASM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
;--------------------------------------------------------------------------
;
;  Filename:    lpnonstreaming.asm
;
;  Description: User functions to access the LP radio. This file contains
;               the functions and support for the actual operational
;               routines that actually perform transmit and receive
;               operations. These are the functions that change between the
;               streaming and non-streaming versions of the driver.
;
;               This is the non-streaming version of the LP radio driver
;
;--------------------------------------------------------------------------
; WirelessUSB LP Radio Driver Version 1.0
; $Revision: 3 $
;--------------------------------------------------------------------------
;
; Copyright 2005-2006, Cypress Semiconductor Corporation.
;
; This software is owned by Cypress Semiconductor Corporation (Cypress)
; and is protected by and subject to worldwide patent protection (United
; States and foreign), United States copyright laws and international
; treaty provisions. Cypress hereby grants to licensee a personal,
; non-exclusive, non-transferable license to copy, use, modify, create
; derivative works of, and compile the Cypress Source Code and derivative
; works for the sole purpose of creating custom software in support of
; licensee product to be used only in conjunction with a Cypress integrated
; circuit as specified in the applicable agreement. Any reproduction,
; modification, translation, compilation, or representation of this
; software except as specified above is prohibited without the express
; written permission of Cypress.
;
; Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
; WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
; Cypress reserves the right to make changes without further notice to the
; materials described herein. Cypress does not assume any liability arising
; out of the application or use of any product or circuit described herein.
; Cypress does not authorize its products for use as critical components in
; life-support systems where a malfunction or failure may reasonably be
; expected to result in significant injury to the user. The inclusion of
; Cypress' product in a life-support systems application implies that the
; manufacturer assumes all risk of such use and in doing so indemnifies
; Cypress against all charges.
;
; Use may be limited by and subject to the applicable Cypress software
; license agreement.
;
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------;
;                                                                          ;
;                      I N C L U D E   F I L E S                           ;
;                                                                          ;
;--------------------------------------------------------------------------;

                   INCLUDE "lpradio.inc"
                   INCLUDE "spim_radio.inc"
                   INCLUDE "psocgpioint.inc"
                   INCLUDE "lpregs.inc"
                   INCLUDE "m8c.inc"
                   INCLUDE "irqmacros.inc"

;--------------------------------------------------------------------------;
;                                                                          ;
;                            V A R I A B L E S                             ;
;                                                                          ;
;--------------------------------------------------------------------------;

                   AREA    bss

RadioBytesRead::   BLK     1                           ; Can we fold this into one of the other variables?
RadioRssiShadow:   BLK     1                           ; Can we fold this into one of the other variables?

;--------------------------------------------------------------------------;
;                                                                          ;
;                                 C O D E                                  ;
;                                                                          ;
;--------------------------------------------------------------------------;

                   AREA    UserModules (ROM, REL)
                   
;
; Disable the code compressor.
;
                   DISABLE_CODE_COMPRESSION

;--------------------------------------------------------------------------;
;                                                                          ;
;                 T R A N S M I T   a n d   R E C E I V E                  ;
;                                                                          ;
;--------------------------------------------------------------------------;

.section
;--------------------------------------------------------------------------------
;
; RadioStartTransmit:
;                  Start the transmission of a packet. The location of the
;                  packet buffer to transmit must have previously been set
;                  with a call to RadioSetPtr.
;
;                  After starting the transmission of a packet with this call,
;                  the state of the transmit operation should be check by
;                  calling RadioGetTransmitState. When RadioGetTransmitState
;                  indicates that the transmission has completed a call
;                  should be made to RadioEndTransmit.
;
;                  After calling RadioStartTransmit NO CALLS can be made to the
;                  configuration access routines until the transmit operation is
;                  terminated with a call to RadioEndTransmit or RadioAbort.
;                  Until one of those calls is made to end the transmit operation
;                  the only other call supported is RadioGetTransmitState. 
;
; 'C' Call:        void RadioStartTransmit(BYTE retryCount, RADIO_LENGTH length);
;                  (A call to RadioSetPtr must have been made prior to the
;                  call to RadioStartTransmit.)
;
; Assembly Call:   A: retry count
;                  X: packet length
;
; Assembly Return: A: Undefined
;                  X: Undefined
;
_RadioStartTransmit::
 RadioStartTransmit::
                   MOV     [RadioRetryCount], A        ; Save count
                   MOV     [RadioPacketLength], X      ;  and length.

RadioRestartTransmit:
                   MOV     [RadioState], RADIO_TX
                   MOV     [RadioTemp2], ( TX_GO | TX_CLR | TXC_IRQ | TXE_IRQ)             ;  the current value.
;
; The write that starts the transmit and the movement of the data into the buffer
;  must happen atomically. There can be no interrupt caused delay between them.
;                   
.ShortPacket:      PUSH_F_MESSY
                   PUSH_PERM_IE_THROUGH_A
                   CLEAR_PERM_IE
                   CLEAR_TEMP_IE
                   MOV     [RadioWipPtr], <RadioTemp1  ; Burst write the 
                   MOV     A, TX_LENGTH_ADR            ;  to start the TX.
                   MOV     X, 2
                   MOV     [RadioWipLen], X
                   CALL    RadioBurstWriteWip          ; Write length and TX control as burst.

                   MOV     X, [RadioPacketLength]
                   MOV     A, TX_BUFFER_ADR
                   CALL    RadioFileWrite              ; Burst the data in

                   POP_PERM_IE_THROUGH_A
                   POP_F_RET                           ; Restore the IRQ enablement state.
                    
.endsection
.section
;--------------------------------------------------------------------------------
;
; RadioGetTransmitState:
;                  Returns the state of the current transmit operation.
;                  This call should be made after starting a transmit
;                  operation with the RadioStartTransmit function.
;
;                  Although the bits in the status register in the hardware clear
;                  automatically, we make them sticky until the RadioEndReceive.
;
; 'C' Call:        RADIO_STATE RadioGetTransmitState(void);
;
; Assembly Call:   A: Unused
;                  X: Unused
;
; Assembly Return: A: State
;                  X: Undefined
;
_RadioGetTransmitState::
 RadioGetTransmitState::
;
; Poll the IRQ line to see if there is something to do.
;
                   TST     REG[LP_IRQ_Data_ADDR], LP_IRQ_MASK ; Has the interrupt asserted?
                   JZ      RGTSDone                    ;  No, just return the state.
;
; Something interesting is happening at the IRQ, find out what.
;
RadioGetTransmitStateIsr:
                   MOV     A, TX_IRQ_STATUS_ADR
                   CALL    RadioReadStatusDebounced
                   AND     A, (TXE_IRQ | TXC_IRQ)
                   OR      [RadioState], A
                   CMP     A, TXC_IRQ
                   JZ      RGTSDone
;
; Workaround for CDT3847. When this issue occurs, the IRQ is asserted while both TXC and TXE are not set. 
;  Read the RX_IRQ_STATUS register will clear up the IRQ. We don't need to do the read if there is just a
;  simple error, but no harm.
;
                   MOV     A, RX_IRQ_STATUS_ADR         ; Clear the RX IRQ.
                   CALL    RadioRead                   
                   OR      [RadioState], (TXE_IRQ | TXC_IRQ)
;
; Maybe retry the failed transmit.
;
                   MOV     A, [RadioRetryCount]
                   JZ      RGTSDone                   
                   DEC     [RadioRetryCount]            ; Decrement the TX retry count
                   CALL    RadioRestartTransmit         ; Try again.

RGTSDone:          MOV     A, [RadioState]
                   RET

.endsection
.section
;--------------------------------------------------------------------------------
;
; RadioEndTransmit:Completes a transmit operation.
;
; 'C' Call:        void RadioEndTransmit(void);
;
; Assembly Call:   A: Unused
;                  X: Unused
;
; Assembly Return: A: Undefined
;                  X: Undefined
;
_RadioEndTransmit::
 RadioEndTransmit::

 RadioEndOperation:

RadioDone:         MOV     [RadioState], RADIO_IDLE    ; Clear our status.

                   RET
.endsection
.section
;--------------------------------------------------------------------------------
;
; RadioBlockingTransmit:
;                  Transmit a packet. Block execution until it completes.
;                  This function attempts to transmit a packet. The address
;                  of the packet buffer should have previously been set with
;                  a call to RadioSetPtr.
;
;                  This routine gives the user very little control - probably
;                  less than most applications will require. This function is
;                  primarily intended for very simple applications that have
;                  no use for a time-out.
;
; 'C' Call:        RADIO_STATE RadioBlockingTransmit(BYTE retryCount, RADIO_LENGTH length);
;                  (A call to RadioSetPtr must have been made prior to the
;                  call to RadioBlockingTransmit.)
;
; Assembly Call:   A: retryCount
;                  X: length
;                  RadioPtr: Address of packet buffer
;                  
; Assembly Return: A: RADIO_STATE
;                  X: Undefined
;
_RadioBlockingTransmit::
 RadioBlockingTransmit::
                   CALL    RadioStartTransmit
                   
.WaitLoop:         CALL    RadioGetTransmitState
                   MOV     [RadioTemp2], A
                   TST     [RadioTemp2], TXC_IRQ | TXE_IRQ
                   JZ      .WaitLoop

                   CALL    RadioEndTransmit

                   MOV     A, [RadioTemp2]
                   RET                    

.endsection
.section
;--------------------------------------------------------------------------------
;
; RadioStartReceive:
;                  Start the reception of a packet. The location and length of
;                  the packet buffer to receive the data into must have
;                  previously been set with a call to RadioSetPtr and
;                  RadioSetLength.
;
;                  After starting the reception of a packet with this call,
;                  the state of the receive operation should be checked by
;                  calling RadioGetReceiveState. When RadioGetReceiveState
;                  indicates that the transmission has completed a call
;                  should be made to RadioEndReceive.
;
;                  The receive is started by hitting the "RX_GO" bit. All the
;                  interesting interrupt enables are set and RadioGetReceiveState
;                  can be called in a polling loop in systems that do not use
;                  interrupts, or can be called directly in an interrupt

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草国产成人av片免费| 美女视频黄久久| 精品毛片乱码1区2区3区| aaa欧美日韩| 老司机精品视频在线| 亚洲美女少妇撒尿| 久久精品综合网| 日韩亚洲欧美高清| 色又黄又爽网站www久久| 国内精品伊人久久久久av一坑 | 精品成人私密视频| 在线影视一区二区三区| 国产成人日日夜夜| 全国精品久久少妇| 亚洲精品视频观看| 亚洲欧洲性图库| 精品成a人在线观看| 在线不卡欧美精品一区二区三区| 不卡大黄网站免费看| 韩国v欧美v日本v亚洲v| 日韩av不卡一区二区| 亚洲香肠在线观看| 中文字幕字幕中文在线中不卡视频| 精品国产一区二区国模嫣然| 欧美绝品在线观看成人午夜影视| 99精品视频在线播放观看| 久久成人免费日本黄色| 性欧美疯狂xxxxbbbb| 亚洲夂夂婷婷色拍ww47| 国产精品第一页第二页第三页| 日韩精品一区二区三区视频播放 | 欧美日本一区二区| 在线观看国产精品网站| 顶级嫩模精品视频在线看| 国产在线看一区| 日韩av一级片| 最新国产精品久久精品| 国产精品免费久久| 久久久精品日韩欧美| 久久精品夜色噜噜亚洲a∨| 欧美疯狂性受xxxxx喷水图片| 欧美精品久久99久久在免费线| 一本一本久久a久久精品综合麻豆| 国产成人精品免费| 国产精品一区二区久久不卡| 男人操女人的视频在线观看欧美| 亚洲h动漫在线| 亚洲午夜激情av| 一区二区在线观看av| 精品日韩99亚洲| 久久久久国产精品人| 久久美女高清视频| 欧美国产1区2区| 国产午夜亚洲精品午夜鲁丝片| 日本一区二区在线不卡| 国产欧美一区二区精品仙草咪| 国产精品麻豆欧美日韩ww| 国产精品美女久久久久aⅴ| 亚洲欧美日韩国产一区二区三区| 亚洲乱码中文字幕| 日韩成人av影视| 麻豆成人综合网| 高清不卡一区二区在线| 成人av在线资源| 欧美无砖专区一中文字| 91精品国产麻豆国产自产在线 | 一区二区三区四区蜜桃| 中文字幕亚洲不卡| 亚洲无线码一区二区三区| 亚洲成人综合网站| 国内成人精品2018免费看| 国产一区二区三区免费在线观看| 成人av在线看| 欧美曰成人黄网| 精品国内二区三区| 国产性色一区二区| 亚洲另类中文字| 丝袜美腿亚洲一区| 日本不卡一二三区黄网| 福利一区福利二区| 91视视频在线观看入口直接观看www | 久久超碰97中文字幕| 国产精品一区二区三区乱码 | 欧美一区二区在线观看| 久久久综合视频| 自拍视频在线观看一区二区| 轻轻草成人在线| 狠狠网亚洲精品| 欧美网站一区二区| 久久免费电影网| 性做久久久久久免费观看| 麻豆精品视频在线观看免费| www.久久久久久久久| 91精品黄色片免费大全| 亚洲国产精品成人综合色在线婷婷 | 国产日韩一级二级三级| 亚洲午夜一区二区| 国产伦精品一区二区三区视频青涩| 成人动漫精品一区二区| 成人v精品蜜桃久久一区| 91精品久久久久久久91蜜桃| 中文字幕av一区二区三区高 | 亚洲国产wwwccc36天堂| 麻豆精品久久久| 99re这里都是精品| 7777精品伊人久久久大香线蕉超级流畅| 久久综合九色综合97婷婷| 亚洲综合精品久久| 国产一区二区精品久久91| 欧美日韩国产系列| 中文字幕av一区二区三区高 | 国产成人99久久亚洲综合精品| 91黄色免费看| 久久色成人在线| 亚洲电影在线免费观看| 成人网页在线观看| 在线亚洲一区观看| 国产色91在线| 九九九精品视频| 欧美三级一区二区| 欧美mv日韩mv国产网站app| 亚洲综合色婷婷| 国产成人av电影| 精品国产亚洲在线| 亚洲成av人片在www色猫咪| 成人aa视频在线观看| 欧美日本视频在线| 综合亚洲深深色噜噜狠狠网站| 国产精品538一区二区在线| 在线综合亚洲欧美在线视频| 国产精品亲子伦对白| 激情六月婷婷综合| 久久99精品国产麻豆婷婷| 91精品婷婷国产综合久久| 亚洲日本中文字幕区| www.欧美日韩国产在线| 日韩欧美久久一区| 日韩精品午夜视频| www.欧美亚洲| 中文字幕一区二区三区四区不卡 | 亚洲日本护士毛茸茸| 国产99精品视频| 久久久久国产精品人| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩国产另类一区| 亚洲一区国产视频| 在线观看视频一区二区 | 中文在线免费一区三区高中清不卡| 日本中文在线一区| 日韩无一区二区| 亚洲欧洲综合另类| 色综合天天天天做夜夜夜夜做| 欧美国产一区二区在线观看| 国产精品一二三在| 欧美精品一区二区在线观看| 国产主播一区二区| 国产人妖乱国产精品人妖| 成人av小说网| 亚洲精品国产无天堂网2021| 成人av网站免费| 亚洲女女做受ⅹxx高潮| 美女精品一区二区| 久久在线观看免费| 国产精品久久久久影院| 欧美午夜精品电影| 日韩精品免费专区| 精品国产免费人成在线观看| 国产精品一线二线三线| 欧美国产一区在线| 日韩—二三区免费观看av| 亚洲精品一线二线三线无人区| 精品一区精品二区高清| 国产日韩欧美制服另类| 99久久精品费精品国产一区二区| 亚洲欧美日韩一区二区三区在线观看| 在线日韩一区二区| 日韩高清不卡一区| 国产三级一区二区| 欧美午夜一区二区| 激情欧美日韩一区二区| 日韩理论片在线| 欧美精品久久99| 风间由美性色一区二区三区| 亚洲精品国产一区二区精华液 | 国产乱码精品1区2区3区| 国产精品久久久久久福利一牛影视 | 欧美精品一区二区三区一线天视频| 极品尤物av久久免费看| 中文字幕一区不卡| 7777精品伊人久久久大香线蕉完整版| 美女免费视频一区| 一区二区三区在线看| 精品国内二区三区| 色av成人天堂桃色av| 久久av中文字幕片| 亚洲视频香蕉人妖| 欧美伦理视频网站| av中文字幕一区| 激情图区综合网| 亚洲一区二区视频|