nrf905 --- 无线收发模块关联功能函数

nrf905 模块的主要功能与函数

功能相关函数

nrf905.Config905(self)

设置nrf905寄存器函数

nrf905.setTXmode(self)

设置nrf905为发送模式

nrf905.txpacket(self, buf)

发送数据函数,buf为发送的内容

nrf905.sender_bruff(self, buf)

发送函数,buf为发送的内容

nrf905.checkDR(self)

读取DR引脚状态,返回值为DR引脚的状态,用于判断是否接收完毕数据包

nrf905.setRXmode(self)

设置nrf905为接收模式

nrf905.rxpacket(self)

接收数据函数,返回值为list

nrf905.recvrx(self)

接收函数,返回值为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                                    #发送模式
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.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                                    #接收模式
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.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)