NRF905
--- 2.4G无线收发模块关联功能函数¶
nrf905
模块的主要功能与函数
功能相关函数¶
-
class
nrf905.
NRF905
(spi, ce, txen, pwr, cd, dr, cs, RFConf, TxAddress)¶
创建一个NRF905对象。
spi
pyb.SPI对象ce
引脚编号txen
引脚编号pwr
引脚编号cd
引脚编号dr
引脚编号cs
引脚编号RFConf
模块相关配置参数,list类型TxAddress
接收方的地址,list类型
-
NRF905.
Config905
()¶ 设置nrf905寄存器函数
-
NRF905.
setTXmode
()¶ 设置nrf905为发送模式
-
NRF905.
txpacket
(buf)¶ 发送数据函数,buf为发送的内容
-
NRF905.
sender_bruff
(buf)¶ 发送函数,buf为发送的内容
-
NRF905.
checkDR
()¶ 读取DR引脚状态,返回值为DR引脚的状态,用于判断是否接收完毕数据包
-
NRF905.
setRXmode
()¶ 设置nrf905为接收模式
-
NRF905.
rxpacket
()¶ 接收数据函数,返回值为list
-
NRF905.
recvrx
()¶ 接收函数,返回值为list
nrf905与开发板接线对应引脚:¶
TPYBoard nrf905 Y1 CE Y2 TXEN Y3 PWR Y4 CD Y12 DR Y11 CS Y8 MOSI Y7 MISO Y6 SCK 3V3 VCC GND GND
程序示例:¶
import pyb #发送模式
from nrf905 import NRF905
import time
from pyb import SPI
RFConf=[0x00, #配置命令
0x4c, #频段设置为423Mhz
0x0c, #输出功率为10db,不重发,节电模式为正常
0x44, #地址宽度设置为4字节
0x0a,0x0a, #接收发送有效数据长度为10字节
0xcc,0xcc,0xcc,0xcc, #接收地址
0x58 #CRC允许,8位CRC校验,外部时钟信号不使能
]
TxAddress=[0xcc,0xcc,0xcc,0xcc] #接收地址
buf=[0x06,0xa0,0xb0,0x01,0x02,0] #发送内容
spi=pyb.SPI(2)
n=NRF905(spi=spi,ce='Y1',txen='Y2',pwr='Y3',cd='Y4',dr='Y12',cs='Y11',
RFConf=RFConf,TxAddress=TxAddress)
i=0
while True:
buf[5]=i
n.sender_bruff(buf) #发送buf内容
time.sleep_ms(200)
print(i)
i+=1
import pyb #接收模式
from nrf905 import NRF905
import time
import pyb
RFConf=[0x00, #配置命令
0x4c, #频段设置为423Mhz
0x0c, #输出功率为10db,不重发,节电模式为正常
0x44, #地址宽度设置为4字节
0x0a,0x0a, #接收发送有效数据长度为10字节
0xcc,0xcc,0xcc,0xcc, #接收地址
0x58 #CRC允许,8位CRC校验,外部时钟信号不使能
]
spi=pyb.SPI(2)
n=NRF905(spi=spi,ce='Y1',txen='Y2',pwr='Y3',cd='Y4',dr='X9',cs='X10',
RFConf=RFConf,TxAddress=None)
while True:
buf=n.recvrx() #接收内容存储到buf
print (buf)