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

📄 z1slaveio.h

📁 nordic 2.4G RF transceiver nRF24z01 firmware source code.
💻 H
字号:
/*= z1slaveio.h ================================================================
 *
 * Copyright (C) 2005 Nordic Semiconductor
 *
 * This file is distributed in the hope that it will be useful, but WITHOUT
 * WARRANTY OF ANY KIND.
 *
 * Author(s): B鴕ge Strand
 *
 * Compiler: Tested with WinAVR, avr-gcc (GCC) 3.4.3
 *
 * Revision: 1.0 
 *
 *==============================================================================
 */


// Only include this file once
#ifndef Z1SLAVEIO_H
#define Z1SLAVEIO_H


// Local includes
#include "mcu.h"
#include "dac.h"
#include "main.h"
#include "uartdebug.h"


// Primitive I/O operations
#define MAXPOLLITER	1000							// Flag poll cycles before timeout is declared
#define FLAGREADY 	0x00							// 0x00 indicates that a flag is ready
#define Z1TIMEOUT	0x02							// 0x02 indicates something else... timeout? FIX!
#define OKAY		0								// Error/result reports that all is well
#define	TIMEOUT		0xFF							// Error/result reports that something timed out
char z1_singleread (char adr);
void z1_singlewrite (char adr, char data);
void z1_multiread (char startadr, char endadr);
void z1_multiwrite (char startadr, char endadr);
char z1_flagready(char flag);
void z1_setflag(char flag);


// Link and address operations
#define LINKPRESENT 0x01							// A link is there!
char z1_haslink(void);
void z1_force_relink(void);
void z1_setprivateadr(void);
void z1_setinitialadr(void);
char z1_randombyte(void);


// ARX EEPROM access
char z1_read_eeprom(char adrh, char adrl);
char z1_write_eeprom(char adrh, char adrl, char data);


// Z1 internal register names

// STATUS:
#define TXSTA		0x01
#define INTSTA		0x02
#define LNKSTA		0x03
#define LNKQ		0x04
#define LNKERR		0x05
#define RXSTAT		0x06
#define RXPIN		0x07

// LINK:
#define CH0         0x0C
#define CH1         0x0D
#define CH2         0x0E
#define CH3         0x0F
#define CH4         0x10
#define CH5         0x11
#define CH6         0x12
#define CH7         0x13
#define CH8         0x14
#define CH9         0x15
#define CH10        0x16
#define CH11        0x17
#define CH12        0x18
#define CH13        0x19
#define CH14        0x1A
#define CH15        0x1B
#define CH16        0x1C
#define CH17        0x1D
#define CH18        0x1E
#define CH19        0x1F
#define CH20        0x20
#define CH21        0x21
#define CH22        0x22
#define CH23        0x23
#define CH24        0x24
#define CH25        0x25
#define CH26        0x26
#define CH27        0x27
#define CH28        0x28
#define CH29        0x29
#define CH30        0x2A
#define CH31        0x2B
#define CH32        0x2C
#define CH33        0x2D
#define CH34        0x2E
#define CH35        0x2F
#define CH36        0x30
#define CH37        0x31
#define BCHD        0x32
#define NBCH        0x33
#define NACH        0x34
#define NLCH        0x35
#define LNKMOD		0x36
#define LNKWTH		0x37
#define LNKETH		0x38
#define ADDR_0		0x39 
#define ADDR_1		0x3A
#define ADDR_2		0x3B
#define ADDR_3		0x3C
#define ADDR_4		0x3D
#define LINKCSTATE	0x3E

// RX CONFIG:
#define RXRESO		0x40
#define RXPIO		0x41
#define RXPWME		0x42
#define RXPWMD		0x43
#define I2SCNF_OUT	0x44
#define RXWAKE		0x45
#define RXSTI_0		0x46
#define RXSTI_1		0x47
#define RXWTI		0x48
#define RXPWR		0x49
#define RXMOD		0x4A 
#define RXCSTATE	0x4B
#define RXLTI   	0x4C
#define TXLTI   	0x4D

// TX CONFIG:
#define TXRESO		0x50
#define TXFMT		0x51
#define TXLAT		0x52
#define INTCF		0x53
#define I2SCNF_IN	0x54
#define I2SRAT		0x55
#define TXPWR		0x56
#define TXSTI_0		0x57
#define TXSTI_1		0x58
#define TXWTI		0x59
#define TXMOD	    0x5A
#define TXCSTATE	0x5B

// RX BUFFER
#define RXBUF_0	    0x60
#define RXBUF_1	    0x61
#define RXBUF_2	    0x62
#define RXBUF_3	    0x63
#define RXBUF_4	    0x64
#define RXBUF_5	    0x65
#define RXBUF_6	    0x66
#define RXBUF_7	    0x67
#define RXBUF_8	    0x68
#define RXBUF_9	    0x69
#define RXBUF_10	0x6A
#define RXBUF_11	0x6B
#define RXBUF_12	0x6C
#define RXBUF_13	0x6D
#define RXBUF_14	0x6E
#define RXBUF_15	0x6F

// RX COMMAND:
#define RXDCMD		0x70
#define RXWCNT		0x71
#define RXRCNT		0x72
#define RXEXEC_ID	0x73
#define RXEXEC		0x74

#define TXDD		0x75

#define REV         0x7D
#define TESTREG     0x7E
#define TESTCH      0x7F

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -