本帖最后由 750273008 于 2018-1-28 14:39 编辑
模块引脚定义:
GND VCC CE CSN SCK MOSI MISO IRQ
1地 2电源3.3v
3片选 4SPI片选(低电平使能)
5时钟 6输入
7输出 8中断脚 【CE输入:高电平>130us工作,低电平待机】高电平使能天线
CSN:spi通信(低电平使能)
SCK:spi时钟,(低电平修改数据,高电平发送)(取数据时多一个低电平周期。sck上升沿,读取D7,sck上升沿,读取D6。。。)
MOSI:输入,数据高位在前。D7,D6,D5,D4,D3,D2,D1,D0,D15,D14,D13..... IRQ:输出脚(发生中断时拉低电平)
设备可以{6收1发}
寄存器读地址 A AAAA //代表5个bit 读地址时,直接输入寄存器地址就可以。
空操作 0xff //空操作,把要读的地址用spi写入后,需要写0xff,(写0xff的同时无线模块会输出该寄存器的设置)
写寄存器地址 1A AAAA //相当于二进制 10 0000是0x20,比如要写0xA0寄存器的时候,要写0x20逻辑或0xA0等于的值" | = "
寄存器 0x60 获取协议帧中6bit代表的数据包长度值。
寄存器 0x61 无线接收寄存器 (获取有效负载内容。低字节先输出)
寄存器 0xA0 无线发送寄存器(写入负载,数据可以发送出去)(直接写0xa0,uchar数据0,uchar数据1。。。
寄存器 0xe1 只需写1字节 清空发送寄存器 (直接写0xe1)
寄存器 0xe2 只需写1字节 清空无线接收寄存器(直接写0xe2)
寄存器 0xe3 只需写1字节 数据重发(直接写0xe3)
寄存器 0xb0 无线发送寄(写入数据可以发送出去,但不使用应答)(直接写0xb0,uchar数据, uchar数据 。。。32字节)
寄存器 1010.1PPP 0XA8 |= 无线协议帧中9bit中PID位,取值范围000~101,PPP代表分组,第1次时PID=1;
寄存器 0x00 7不用
6接收完成中断使能(1关0开,中断产生时IRQ脚,低电平)
5发送完成中断使能(1关0开,中断产生时IRQ脚,低电平)
4重发中断使能(1关0开,中断产生时IRQ脚,低电平)
3校验使能(0关,1开)
2校验位长度选择(0是1字节,1是2字节)
1无线模式(1工作,0掉电)
0无线工作方式(0发送模式,1接收模式)
寄存器 0x01 7不用
6不用
5接收通道5自动应答(1开0关)
4接收通道4自动应答(1开0关)
3接收通道3自动应答(1开0关)
2接收通道2自动应答(1开0关)
1接收通道1自动应答(1开0关)
0接收通道0自动应答(1开0关)
|