亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rf24l01.h

?? C51單片機驅動程序源代碼_RF24L01
?? H
字號:

//-----------------------------------------------------------------------------
//
// 本文件定義RF底層接口(24L01)
//
//-----------------------------------------------------------------------------

#ifndef Rf_24L01H
#define Rf_24L01H

#include "system.h"
#include "stdint.h"
#include "string.h"


//----------------------------------------------------------
#define CSN_LOW()  	RFCSN = 0; 	
#define CSN_HIGH()  RFCSN = 1; 
#define CE_LOW()  	RFCE = 0;Timer_10Us(1); 
#define CE_HIGH()  	RFCE = 1; 
#define CE_PULSE() 	CE_HIGH();Timer_10Us(2);CE_LOW();


//----------------------------------------------------------
// 基頻定義
//----------------------------------------------------------

#define  Def_Base_Channel  122	

//----------------------------------------------------------

//----------------------------------------------------------
// Define nRF2401 RF Power switch
//----------------------------------------------------------

#define RF_POW_ON           0x02
#define RF_POW_OFF          0x00


//----------------------------------------------------------
// Define nRF24L01 interrupt flag's
//----------------------------------------------------------

#define IDLE                0x00  // Idle, no interrupt pending
#define MAX_RT              0x10  // Max #of TX retrans interrupt
#define TX_DS               0x20  // TX data sent interrupt
#define RX_DR               0x40  // RX data received

//----------------------------------------------------------
// SPI(nRF24L01) commands
//----------------------------------------------------------

#define READ_REG            0x00  // Define read command to register
#define WRITE_REG           0x20  // Define write command to register
#define ACTIVATE            0x50  // Define write command to register
#define READ_PAYLAODLEN     0x60  // Define read payload length command to register
#define RD_RX_PLOAD         0x61  // Define RX payload register address
#define WR_TX_PLOAD         0xA0  // Define TX payload register address
#define WR_TX_PLOAD_ACK		0xA8  // Write Payload to be transmitted together with ACK packet on PIPE PPP.
#define WR_TX_PLOAD_NOACK	0xB0  // Disables AUTOACK on this specific packet.
#define FLUSH_TX            0xE1  // Define flush TX register command
#define FLUSH_RX            0xE2  // Define flush RX register command
#define REUSE_TX_PL         0xE3  // Define reuse TX payload register command
#define NOP                 0xFF  // Define No Operation, might be used to read status register

//----------------------------------------------------------
// SPI(nRF24L01) registers(addresses)
//----------------------------------------------------------

#define CONFIG              0x00  // 'Config' register address
#define EN_AA               0x01  // 'Enable Auto Acknowledgment' register address
#define EN_RXADDR           0x02  // 'Enabled RX addresses' register address
#define SETUP_AW            0x03  // 'Setup address width' register address
#define SETUP_RETR          0x04  // 'Setup Auto. Retrans' register address
#define RF_CH               0x05  // 'RF channel' register address
#define RF_SETUP            0x06  // 'RF setup' register address
#define STATUS              0x07  // 'Status' register address
#define OBSERVE_TX          0x08  // 'Observe TX' register address
#define CD                  0x09  // 'Carrier Detect' register address
#define RX_ADDR_P0          0x0A  // 'RX address pipe0' register address
#define RX_ADDR_P1          0x0B  // 'RX address pipe1' register address
#define RX_ADDR_P2          0x0C  // 'RX address pipe2' register address
#define RX_ADDR_P3          0x0D  // 'RX address pipe3' register address
#define RX_ADDR_P4          0x0E  // 'RX address pipe4' register address
#define RX_ADDR_P5          0x0F  // 'RX address pipe5' register address
#define TX_ADDR             0x10  // 'TX address' register address
#define RX_PW_P0            0x11  // 'RX payload width, pipe0' register address
#define RX_PW_P1            0x12  // 'RX payload width, pipe1' register address
#define RX_PW_P2            0x13  // 'RX payload width, pipe2' register address
#define RX_PW_P3            0x14  // 'RX payload width, pipe3' register address
#define RX_PW_P4            0x15  // 'RX payload width, pipe4' register address
#define RX_PW_P5            0x16  // 'RX payload width, pipe5' register address
#define FIFO_STATUS         0x17  // 'FIFO Status Register' register address
#define DYNPD               0x1C  // 'Enable dynamic payload length' register address
#define FEATURE             0x1D  // 'Feature Register' register address

//----------------------------------------------------------
//define 24L01 Transmit mode
//----------------------------------------------------------

#define PTX                 0x00
#define PRX                 0x01

//----------------------------------------------------------
// define 24L01 data rate
//----------------------------------------------------------

#define DATA_RATE_1M        0x00
#define DATA_RATE_2M        0x08

#define RX_P_NO             0x0e

#define MASK_IRQ_FLAGS      0x70
#define MASK_RX_DR_FLAG     0x40
#define MASK_TX_DS_FLAG     0x20
#define MASK_MAX_RT_FLAG    0x10

#define PIPE0               0x00
#define PIPE1               0x01
#define PIPE2               0x02
#define PIPE3               0x03
#define PIPE4               0x04
#define PIPE5               0x05

//----------------------------------------------------------
//FIFO_STATUS
//----------------------------------------------------------

#define MASK_TX_EMPTY		0x10
#define MASK_RX_FULL		0x02
#define MASK_RX_EMPTY		0x01

//----------------------------------------------------------
//24L01 work mode
//----------------------------------------------------------

#define Dev_Close           0
#define Dev_Normal          1
#define Dev_TX              2
#define Dev_AutoTx          3
#define Dev_RT              4

typedef struct
{ 
	unsigned char  nRecvAddr;          // Enable Recv Address

									// bit0->data pipe0   1:enable  0:disable
									// bit1->data pipe1   1:enable  0:disable
									// bit2->data pipe2   1:enable  0:disable
									// bit3->data pipe3   1:enable  0:disable
									// bit4->data pipe4   1:enable  0:disable
									// bit5->data pipe5   1:enable  0:disable

	unsigned char  nAutoAck;       	// Enable Auto Ack

									// bit0->data pipe0   1:enable  0:disable
									// bit1->data pipe1   1:enable  0:disable
									// bit2->data pipe2   1:enable  0:disable
									// bit3->data pipe3   1:enable  0:disable
									// bit4->data pipe4   1:enable  0:disable
									// bit5->data pipe5   1:enable  0:disable

	unsigned char  aAddr1[5];        	// 地址1
	unsigned char  aAddr2[5];        	// 地址2

	unsigned char  nPower;           	// (Data rate)波特率b7~b4: 0 -- 1Mbps, 2 -- 2Mbps; 發送功率b3~b0:0 - -18dbm, 1 - -12dbm, 2 - -6dbm, 3 - 0dbm

	unsigned char  nChannel;         	// 頻道: 0~124
	unsigned char  nRetran;          	// 重發次數: 小于15 或 15的倍數
	unsigned char  nLen;             	// 數據長度 RF后續收發Payload 的長度: 小于或等于32

	unsigned char  nOn;              	// 收發器工作模式: 0--關閉,
									//                  1--打開設備進行正常收發,按給定參數配置收發器
									//                  2--打開設備只進行發送, 按給定參數配置收發器
									//                  3--打開設備自動發送固定數據幀,按給定參數配置收發器,在該模式下,
									//                     只要PC發送RF數據到設備,設備將按固定的延時時間自動發送最后
									//                     一幀的RF數據,每次發送的結果不提交PC
									//                  4--在設備工作模式2的條件下,再次發送最后的一幀RF數據;動作控制,不配置收發器
									//

	unsigned char  nART_Factor;     	// 自動重傳延時因子:0~15,250us*n	 	

} SetupData;

//----------------------------------------------------------

//extern L01_CFG L01_cfg;

//----------------------------------------------------------

#ifdef __cplusplus
extern "C" {               // C Plus Plus function bindings
#define extern
#endif

void Rf24L01_OpenClose_Ctrl(unsigned char on_off);
void Rf24L01_Power_Ctrl(unsigned char on_off);// RF_POW_ON,RF_POW_OFF
void Rf24L01_RxTx_Switch(unsigned char bMode);

unsigned char Rf24L01_Polling_IRQ(unsigned char * rev_buf);
unsigned char Rf24L01_Set_Init(SetupData *drc); 
unsigned char Rf24L01_GetDataPipeNumber(void);
unsigned char Rf24L01_Clear_IRQ(unsigned char irq_flag);
unsigned char Rf24L01_ReadByte(unsigned char reg);


void Rf24L01_Flush_TX(void);
void Rf24L01_TX(unsigned char *ptx_buf,unsigned char len);
void Rf24L01_RETX_LastFrame(void);
void Rf24L01_Set_Channel(unsigned char nChannel);

void Rf24L01_Flush_RX(void);

unsigned char Rf24L01_WriteByte(unsigned char reg, unsigned char value);
unsigned char Rf24L01_WriteMultiByte(unsigned char reg, unsigned char *pBuf, unsigned char len);


#ifdef __cplusplus
}      // C Plus Plus function bindings
#undef extern
#endif


//-----------------------------------------------------------------------------
#endif


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一二区| 欧美日韩国产另类不卡| 久久精品久久99精品久久| 一区二区久久久久久| 亚洲视频香蕉人妖| 亚洲精品国产无天堂网2021| 亚洲日韩欧美一区二区在线| 亚洲日韩欧美一区二区在线| 一个色在线综合| 亚洲123区在线观看| 青青草97国产精品免费观看| 免费成人美女在线观看.| 视频一区二区国产| 精品一区二区三区在线观看 | 欧美在线视频全部完| 色婷婷精品久久二区二区蜜臀av| 色噜噜狠狠成人网p站| 欧美日韩国产高清一区二区三区 | 在线观看视频91| 欧美性猛交一区二区三区精品| 日本韩国精品在线| 欧美福利一区二区| 久久久久青草大香线综合精品| 国产欧美久久久精品影院| 亚洲日本青草视频在线怡红院| 亚洲国产一区二区三区青草影视| 亚洲成人av一区| 国产精品一区专区| 在线一区二区三区做爰视频网站| 欧美一区二区三区啪啪| 国产欧美日韩在线| 亚洲成人福利片| 国产成人免费视频| 欧美视频三区在线播放| 久久亚洲一级片| 亚洲成人av免费| 成人性视频网站| 欧美精品久久一区| 中文字幕一区二区5566日韩| 日韩在线一区二区三区| 欧美三级一区二区| 久久久久久免费| 亚洲第一综合色| av动漫一区二区| 欧美大片顶级少妇| 亚洲国产cao| 成人免费毛片嘿嘿连载视频| 欧美丰满嫩嫩电影| 亚洲欧美综合色| 国产精品66部| 日韩一区二区三区免费看| 伊人夜夜躁av伊人久久| 国产不卡视频在线播放| 日韩一二三四区| 亚洲一区二区偷拍精品| 91一区二区三区在线播放| 久久久久综合网| 韩国成人在线视频| 欧美一区二区黄色| 午夜私人影院久久久久| 欧日韩精品视频| 亚洲人成伊人成综合网小说| 国产a精品视频| 国产亚洲欧洲一区高清在线观看| 午夜电影网一区| 欧美日韩一本到| 亚洲国产欧美在线| 欧美天堂亚洲电影院在线播放| 国产精品国产a| 成人综合婷婷国产精品久久蜜臀| www国产亚洲精品久久麻豆| 免费成人在线网站| 精品久久久久久久久久久久久久久久久 | 欧美亚洲一区二区在线| 亚洲视频在线一区| 日韩免费观看2025年上映的电影| 天天操天天干天天综合网| 欧美亚洲日本国产| 午夜激情久久久| 日韩亚洲欧美成人一区| 蜜臀av性久久久久蜜臀av麻豆| 欧美一级搡bbbb搡bbbb| 九九国产精品视频| 久久亚洲欧美国产精品乐播| 国产乱色国产精品免费视频| 国产午夜一区二区三区| www.视频一区| 亚洲一区在线观看网站| 7777精品伊人久久久大香线蕉超级流畅| 亚洲午夜免费电影| 日韩欧美一区在线观看| 国产剧情一区二区| 亚洲欧美中日韩| 91精品在线麻豆| 国产乱国产乱300精品| 亚洲欧美综合色| 在线成人免费观看| 国产乱子伦视频一区二区三区 | 亚洲一级在线观看| 欧美一区二区三区精品| 久久99精品国产麻豆婷婷洗澡| 亚洲人精品午夜| 日韩免费看的电影| 丰满少妇在线播放bd日韩电影| 亚洲精品乱码久久久久| 日韩一区二区三区视频在线观看| 国产麻豆视频精品| 亚洲成a人在线观看| 欧美精品一区二区三| 一本久道中文字幕精品亚洲嫩| 日韩中文字幕一区二区三区| 国产偷国产偷精品高清尤物| 91蝌蚪porny| 激情五月激情综合网| 一区二区三区成人在线视频| www一区二区| 欧美日韩国产精选| 91在线一区二区| 激情丁香综合五月| 亚洲国产精品久久不卡毛片 | 成人黄色a**站在线观看| 亚洲成人福利片| 中文字幕乱码亚洲精品一区| 欧美猛男男办公室激情| www.av亚洲| 激情文学综合网| 日日摸夜夜添夜夜添精品视频| 国产精品欧美一区喷水| 日韩一区二区电影网| 日本国产一区二区| 成人性生交大片| 国产一区二区三区在线观看免费视频| 亚洲小少妇裸体bbw| 国产精品乱子久久久久| 精品欧美黑人一区二区三区| 欧美日韩午夜在线视频| 一本大道综合伊人精品热热| 国产精品乡下勾搭老头1| 免费成人av在线播放| 午夜一区二区三区在线观看| 中文字幕一区二区三区不卡在线| 2021久久国产精品不只是精品| 在线91免费看| 欧美日韩精品一区二区三区四区 | 亚洲视频精选在线| 欧美国产精品久久| 国产午夜精品久久久久久久| 欧美va亚洲va| 日韩美女视频一区二区在线观看| 欧美精品免费视频| 欧美久久高跟鞋激| 欧美一区二区三区日韩视频| 欧美区视频在线观看| 538prom精品视频线放| 欧美日本在线看| 91精品国产综合久久久久久久| 欧美日韩一区在线| 7777精品久久久大香线蕉 | 麻豆精品一区二区综合av| 三级影片在线观看欧美日韩一区二区 | 日韩中文字幕麻豆| 日韩成人av影视| 免费精品视频在线| 激情欧美一区二区三区在线观看| 国产自产高清不卡| 国产一区二区精品在线观看| 国产成人午夜99999| 99综合电影在线视频| 色婷婷久久久综合中文字幕 | 国产精品一区一区| 99精品视频在线播放观看| 色婷婷久久99综合精品jk白丝| 欧美日韩国产免费| 精品人伦一区二区色婷婷| 国产精品入口麻豆九色| 一区二区三区毛片| 男人操女人的视频在线观看欧美| 久久99久久久久久久久久久| 国产精品一线二线三线精华| 91亚洲精品久久久蜜桃| 欧美日韩一区二区电影| 精品国产成人系列| ●精品国产综合乱码久久久久| 亚洲午夜精品在线| 国产一区日韩二区欧美三区| 91日韩一区二区三区| 欧美精品自拍偷拍动漫精品| 久久精品一区二区三区不卡牛牛| 亚洲午夜精品久久久久久久久| 日韩电影一二三区| 成人久久18免费网站麻豆| 欧美日韩高清不卡| 中文字幕一区二区三区在线播放| 亚洲图片欧美一区| 成人性视频网站| 欧美videos大乳护士334| 亚洲美腿欧美偷拍| 国产成人精品一区二区三区网站观看| 欧美三级视频在线| 中文字幕中文在线不卡住|