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

📄 a62_mf6210_rx.asm

📁 用W588D写的驱动6210-2.4G无线模块,收发程序在一块,(65C02汇编指令实现)
💻 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 + -