📄 a62_mf6210_rx.asm
字号:
;***************************************************************************
;<<<<<<<<<<<<<<<<<<<<2.4GRF_MF6210模块驱动子程序>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;***************************************************************************
;===========================================================================
;所用项目: 2.4G_TX
;包含函数:
; 1.MMF6210_Enable_RX ;使能MF6210的RX功能
; 2.MMF6210_Receive_DATA ;使能RX后,在端口中断中调用,读取RSSI和有效的数据
; 3.MMF6210_COMM_SEND ;从SPI口发送3字节的数据,并接收3字节的数据
; 4.MMF6210_WR_DATA ;从MF6210口读写一个字节的数据
; 5.MMF6210_DELAY_1MS ;延时1MS
; 6.TAB_MF6210_RFIC_REG ;MF6210RFIC寄存器,初始化表
; 7.TAB_MF6210_FRAMER_REG ;MF6210FRAMER寄存器,初始化表
;===========================================================================
;修改日期:2008/03/06
;程序员:FengXing
;===========================================================================
;1. 使能MF6210的RX功能
;---------------------------------------------------------------------------
MMF6210_Enable_RX:
LDA gMF6210_FLAG
BIT #Mac_MF6210_FLAG1
BNE SMF6210_Enable_RX_RTS
;---------------------------------------------------------
MACRO_MF6310_Enable_RX ;使能MF6210_RX
;---------------------------------------------------------
MACRO_MF6310_CLR_READ_R64 ;读取MF6210_R64,状态寄存器
LDA gMF6210_Receive_State+1
AND #F0H
CMP #D0H ;检查是否处于接收状态
BNE SMF6210_Enable_RX_RTS
LDA #Mac_MF6210_FLAG1
TSB gMF6210_FLAG
SMF6210_Enable_RX_RTS:
RTS
;===========================================================================
;2. 使能RX后,在端口中断中调用,读取RSSI和有效的数据
;---------------------------------------------------------------------------
MMF6210_Receive_DATA:
MACRO_MF6310_CLR_READ_RSSI
LDA gMF6210_Receive_State+1
LSR A
LSR A
STA gMF6210_RSSI
;--------------------------------
JSR MMF6210_DATA_RX
;--------------------------------
LDA #Mac_MF6210_FLAG0
TSB gMF6210_FLAG
;--------------------------------
LDA #Mac_MF6210_FLAG1
TRB gMF6210_FLAG
RTS
;===========================================================================
;3. MF6210接收数据,8个数据
;---------------------------------------------------------------------------
MMF6210_DATA_RX:
;--------------------------读取数据
MACRO_MF6210_SS_L
LDA #Mac_MF6210_ADDR_80R ;送80地址
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第1个数据
STA gMF6210_Receive_DATA ;数据个数,=8
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第2个数据
STA gMF6210_Receive_DATA+1 ;ID号
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第3个数据
STA gMF6210_Receive_DATA+2 ;数据1
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第4个数据
STA gMF6210_Receive_DATA+3 ;数据2
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第5个数据
STA gMF6210_Receive_DATA+4 ;数据3
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第6个数据
STA gMF6210_Receive_DATA+5 ;数据4
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第7个数据
STA gMF6210_Receive_DATA+6 ;数据5
;--------------------------------
LDA #FFH
STA gMF6210_Send_BUFF
JSR MMF6210_WR_DATA
LDA gMF6210_Receive_BUFF ;读第8个数据
STA gMF6210_Receive_DATA+7 ;数据校验和
;--------------------------------
MACRO_MF6210_SS_H
SMF6210_DATA_RX_RTS:
RTS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -