return status;
}
/*************************************************************************************************************************
* 函数 : u8 CC1101_ReadReg(CC1101_REG_TYPE RegAddr)
* 功能 : 读取CC1101通用寄存器
* 参数 : RegAddr:寄存器地址,见:CC1101_REG_TYPE
* 返回 : 寄存器的值
* 依赖 : 底层宏定义
* 作者 : [email protected]
* 时间 : 2013-12-06
* 最后修改时间 : 2013-12-06
* 说明 : 一次读取一个寄存器
*************************************************************************************************************************/
u8 CC1101_ReadReg(CC1101_REG_TYPE RegAddr)
{
u8 data;
CC1101_CS_L(); //片选有效
CC1101_ReadWriteByte((u8)READ_SINGLE|RegAddr); //发送读命令以及寄存器索引
data = CC1101_ReadWriteByte(0xff); //读取
CC1101_CS_H(); //片选关闭
return data;
}
/*************************************************************************************************************************
* 函数 : u8 CC1101_WriteReg(CC1101_REG_TYPE RegAddr, u8 data)
* 功能 : 写入CC1101通用寄存器
* 参数 : RegAddr:寄存器地址,见:CC1101_REG_TYPE,data:需要写入的数据
* 返回 : 状态寄存器的值
* 依赖 : 底层宏定义
* 作者 : [email protected]
* 时间 : 2013-12-06
* 最后修改时间 : 2013-12-06
* 说明 : 一次写入一个寄存器,并返回状态
不要对只读的寄存器进行写操作
*************************************************************************************************************************/
u8 CC1101_WriteReg(CC1101_REG_TYPE RegAddr, u8 data)
{
u8 status;
if(RegAddr 》 0x80) return 0; //防止误操作,0x30以后的寄存器为只读状态寄存器
CC1101_CS_L(); //片选有效
while(CC1101_GetMISO());
status = CC1101_ReadWriteByte((u8)WRITE_SINGLE|RegAddr); //发送写命令以及寄存器索引
CC1101_ReadWriteByte(data); //写入数据
CC1101_CS_H(); //片选关闭
return status;
}
#include “LED.h”
void CC1101_Init(u8 Addr)
{
//初始化片选
GPIOx_Init(GPIOA, BIT3, OUT_PP_10M);
CC1101_CS_H(); //初始化SCLK (责任编辑:admin) |