标签: 24L01程序
无线收发 24L01 程序
最近项目基本都做完了,闲着没事了,过来整理下博客,分享下自己的程序!
这是几个月前调通的程序,24L01 无线收发芯片,mcu 用的是 msp430f2274!
该程序花费了我大量心血!算是我学起单片机来攻克的第一块芯片吧!注释相
当详细!
#include<msp430x22x4.h>
#define uint unsigned int
#define uchar unsigned char
//nRF24L01 的数据宽度,地址宽度,以及数据定义
#define TX_ADR_WIDTH 4
#define RX_PLOAD_WIDTH 4
#define TX_PLOAD_WIDTH 4
uchar TX_ADDRESS[]={0xe7,0xe7,0xe7,0xe7};
uchar data[4]="zhou";
uchar rx_buf[4];
//引脚定义 2274
#define CSN_HIGH P3OUT|=BIT1//P3.1 控制 SPI 使能
#define CSN_LOW P3OUT&=~BIT1
#define CE_HIGH P3OUT|=BIT2//P3.2 控制芯片发射使能
#define CE_LOW P3OUT&=~BIT2
#define IRQ P3IN&BIT3//读取 P3.3 的值*/
/***********模拟 SPI 方式***********/
#define MOSI_HIGH P3OUT|=BIT4
#define MOSI_LOW P3OUT&=~BIT4
#define MISO P3IN&BIT5
#define SCK_HIGH P3OUT|=BIT0
#define SCK_LOW P3OUT&=~BIT0
//24L01 寄存器地址
#define CONFIG 0X00//配置寄存器地址
#define EN_AA 0X01//自动应答寄存器地址
#define EN_RXADDR 0X02//接收地址使能
#define SETUP_AW 0X03//设置地址宽度
#define SETUP_RETR 0X04//建立自动重发
#define RF_CH 0X05//射频通道
#define RF_SETUP 0X06//射频寄存器
#define STATUS 0X07//状态寄存器
#define OBSERVE_TX 0X08//发送检测寄存器
#define CD 0X09//载波检测