cc1101 ASK发射模式
cc1101 配置 433.919830Mhz 1.19948kBaud 199.951172 58.035714
#ifndef _CC1100_H_
#define _CC1100_H_
#define CC_IOCFG2 0x00 //GDO2 输出脚配置
#define CC_IOCFG1 0x01 //GDO1 输出脚配置
#define CC_IOCFG0 0x02 //GDO0 输出脚配置
#define CC_FIFOTHR 0x03 //RX FIFO 和TX FIFO门限
#define CC_SYNC1 0x04 //同步词汇,高字节
#define CC_SYNC0 0x05 //同步词汇,低字节
#define CC_PKTLEN 0x06 //数据包长度
#define CC_PKTCTRL1 0x07 //数据包自动控制
#define CC_PKTCTRL0 0x08 //数据包自动控制
#define CC_ADDR 0x09 //设备地址
#define CC_CHANNR 0x0A //信道数
#define CC_FSCTRL1 0x0B //频率合成器控制
#define CC_FSCTRL0 0x0C //频率合成器控制
#define CC_FREQ2 0x0D //频率控制词汇,高字节
#define CC_FREQ1 0x0E //频率控制词汇,中间字节
#define CC_FREQ0 0x0F //频率控制词汇,低字节
#define CC_MDMCFG4 0x10 //调制器配置
#define CC_MDMCFG3 0x11 //调制器配置
#define CC_MDMCFG2 0x12 //调制器配置
#define CC_MDMCFG1 0x13 //调制器配置
#define CC_MDMCFG0 0x14 //调制器配置
#define CC_DEVIATN 0x15 //调制器背离设置
#define CC_MCSM2 0x16 //主通信控制状态机配置
#define CC_MCSM1 0x17 //主通信控制状态机配置
#define CC_MCSM0 0x18 //主通信控制状态机配置
#define CC_FOCCFG 0x19 //频率偏移补偿配置
#define CC_BSCFG 0x1A //位同步配置
#define CC_AGCCTRL2 0x1B //AGC 控制
#define CC_AGCCTRL1 0x1C //AGC 控制
#define CC_AGCCTRL0 0x1D //AGC 控制
#define CC_WOREVT1 0x1E //高字节时间0暂停
#define CC_WOREVT0 0x1F //低字节时间0暂停
#define CC_WORCTRL 0x20 //电磁波激活控制
#define CC_FREND1 0x21 //前末端RX配置
#define CC_FREND0 0x22 //前末端TX配置
#define CC_FSCAL3 0x23 //频率合成器校准
#define CC_FSCAL2 0x24 //频率合成器校准
#define CC_FSCAL1 0x25 //频率合成器校准
#define CC_FSCAL0 0x26 //频率合成器校准
#define CC_RCCTRL1 0x27 //RC 振荡器配置
#define CC_RCCTRL0 0x28 //RC 振荡器配置
#define CC_FSTEST 0x29 //频率合成器标度
#define CC_PTEST 0x2A //产品测试
#define CC_AGCTEST 0x2B //AGC 测试
#define CC_TEST2 0x2C //不同的测试设置
#define CC_TEST1 0x2D //不同的测试设置
#define CC_TEST0 0x2E //不同的测试设置
#define CC_SRES 0x30 //重启芯片
#define CC_SFSTXON 0x31 //开启和校准频率合成器
#define CC_SXOFF 0x32 //关闭晶体振荡器
#define CC_SCAL 0x33 //校准频率合成器并关断
#define CC_SRX 0x34 //启用RX
#define CC_STX 0x35 //空闲状态:启用TX
#define CC_SIDLE 0x36 //离开RX/TX
#define CC_SAFC 0x37 //频率合成器的AFC调节
#define CC_SWOR 0x38 //自动RX选举序列(电磁波激活)
#define CC_SPWD 0x39 //当CSn为高时进入功率降低模式
#define CC_SFRX 0x3A //冲洗RX FIFO缓冲
#define CC_SFTX 0x3B //冲洗TX FIFO缓冲
#define CC_SWORRST 0x3C //重新设置真实时间时钟
#define CC_SNOP 0x3D //无操作
#define CC_PARTNUM 0x30 //CC2550 的组成部分数目
#define CC_VERSION 0x31 //当前版本数
#define CC_FREQEST 0x32 //率偏移估计
#define CC_LQI 0x33 //接质量的解调器估计
#define CC_RSSI 0x34 //接收信号强度指示
#define CC_MARCSTATE 0x35 //控制状态机状态
#define CC_WORTIME1 0x36 //WOR 计时器高字节
#define CC_WORTIME0 0x37 //WOR 计时器低字节
#define CC_PKTSTATUS 0x38 //当前GDOx状态和数据包状态
#define CC_VCO_VC_DAC 0x39 //PLL 校准模块的当前设定
#define CC_TXBYTES 0x3A //TX FIFO 中的下溢和比特数
#define CC_RXBYTES 0x3B //RX FIFO 中的下溢和比特数
#define CC_PATABLE 0x3E //********
#define CC_TXFIFO 0x3F //********
#define CC_RXFIFO 0x3F //********
//==============================================================================
#else //发射 0110
#define IOCFG2 0x29 //GDO2 输出脚配置
#define IOCFG1 0x06 //GDO1 输出脚配置 miso
#define IOCFG0 0x2d //GDO0 输出脚配置
#define FIFOTHR 0x47 //RX FIFO 和TX FIFO门限
#define SYNC1 0xd3 //同步词汇,高字节
#define SYNC0 0x91 //同步词汇,低字节
#define PKTLEN 0xff//0xFF //数据包长度
#define PKTCTRL1 0x00 //数据包自动控制 地址校验关 00广播
#define PKTCTRL0 0x35 //数据包自动控制 可变数据包 CRC开启 白化关闭
#define ADDR 0x00 //设备地址
#define CHANNR 0x00 //信道数
#define FSCTRL1 0x06 //频率合成器控制
#define FSCTRL0 0x00 //频率合成器控制
#define FREQ2 0x10 //频率控制词汇,高字节
#define FREQ1 0xb0 //频率控制词汇,中间字节
#define FREQ0 0x71 //频率控制词汇,低字节
#define MDMCFG4 0xf5 //调制器配置 10K波特率
#define MDMCFG3 0x83 //调制器配置
#define MDMCFG2 0x32// //调制器配置
#define MDMCFG1 0x02 //调制器配置
#define MDMCFG0 0xf8 //调制器配置
#define DEVIATN 0x40 //调制器背离设置
#define MCSM2 0x07 //主通信控制状态机配置
#define MCSM1 0x30 //主通信控制状态机配置
#define MCSM0 0x18 //主通信控制状态机配置
#define FOCCFG 0x16// //频率偏移补偿配置
#define BSCFG 0x6C //位同步配置
#define AGCCTRL2 0x43 //AGC 控制
#define AGCCTRL1 0x40 //AGC 控制
#define AGCCTRL0 0x93 //AGC 控制
#define WOREVT1 0x87 //高字节时间0暂停
#define WOREVT0 0x6b //低字节时间0暂停
#define WORCTRL 0xfb //电磁波激活控制
#define FREND1 0x56 //前末端RX配置
#define FREND0 0x11 //前末端TX配置
#define FSCAL3 0xe9 //频率合成器校准
#define FSCAL2 0x2A //频率合成器校准
#define FSCAL1 0x00 //频率合成器校准
#define FSCAL0 0x1F //频率合成器校准
#define RCCTRL1 0x41 //RC 振荡器配置
#define RCCTRL0 0x00 //RC 振荡器配置
#define FSTEST 0x59 //频率合成器标度
#define PTEST 0x7F //产品测试
#define AGCTEST 0x3F //AGC 测试
#define TEST2 0x81 //不同的测试设置
#define TEST1 0x35 //不同的测试设置
#define TEST0 0x09 //不同的测试设置
发射码
void delay_L()
{
delay_us(1200);
}
void delay_S()
{
delay_us(500);
}
void SendRF()
{
unsigned char dat=0,i=0;
_CC1101_GPIO0_H();
delay_us(5000);
_CC1101_GPIO0_L();
delay_us(2500);
_CC1101_GPIO0_H();
delay_us(3000);
_CC1101_GPIO0_L();
delay_us(3000);
_CC1101_GPIO0_H();
delay_us(3000);
_CC1101_GPIO0_L();
delay_us(3000);
dat=0x5a; //a5 c3
for(i=0;i<8;i++)
{
if(dat&0x80)
{
_CC1101_GPIO0_H();
delay_L();
_CC1101_GPIO0_L();
delay_S();
}
else
{
_CC1101_GPIO0_H();
delay_S();
_CC1101_GPIO0_L();
delay_L();
}
dat<<=1;
}
dat=0xa3; //a5 c3补码
for(i=0;i<8;i++)
{
if(dat&0x80)
{
_CC1101_GPIO0_H();
delay_L();
_CC1101_GPIO0_L();
delay_S();
}
else
{
_CC1101_GPIO0_H();
delay_S();
_CC1101_GPIO0_L();
delay_L();
}
dat<<=1;
}
dat=0xc3; //a5 c3
for(i=0;i<8;i++)
{
if(dat&0x80)
{
_CC1101_GPIO0_H();
delay_L();
_CC1101_GPIO0_L();
delay_S();
}
else
{
_CC1101_GPIO0_H();
delay_S();
_CC1101_GPIO0_L();
delay_L();
}
dat<<=1;
}
dat=0xa5; //a5 c3 0101补码
for(i=0;i<8;i++)
{
if(dat&0x80)
{
_CC1101_GPIO0_H();
delay_us(1200);
_CC1101_GPIO0_L();
delay_us(500);
}
else
{
_CC1101_GPIO0_H();
delay_S();
_CC1101_GPIO0_L();
delay_L();
}
dat<<=1;
}
dat=0x5c; //a5 c3
for(i=0;i<8;i++)
{
if(dat&0x80)
{
_CC1101_GPIO0_H();
delay_L();
_CC1101_GPIO0_L();
delay_S();
}
else
{
_CC1101_GPIO0_H();
delay_S();
_CC1101_GPIO0_L();
delay_L();
}
dat<<=1;
}
dat=0x3c; //a5 c3
for(i=0;i<8;i++)
{
if(dat&0x80)
{
_CC1101_GPIO0_H();
delay_L();
_CC1101_GPIO0_L();
delay_S();
}
else
{
_CC1101_GPIO0_H();
delay_S();
_CC1101_GPIO0_L();
delay_L();
}
dat<<=1;
}
_CC1101_GPIO0_H();delay_us(500);
_CC1101_GPIO0_L();delay_us(500);
// PC_ODR&=~0X20;
}
cc1101 ASK发射模式的更多相关文章
- 关于粒子发射(CAEmitterLayer)
技术是条长而远的路,只有不断学习丰富自己的技能才能让自己行走在路上! CAEmitterCell CAEmitterCell: CAEmitterCell是粒子发射系统里的粒子,用CAEmitterC ...
- CAEmitterLayer 粒子发射Layer的相关属性
emitterCells:CAEmitterCell对象的数组,被用于把粒子投放到layer上 birthRate:可以通俗的理解为发射源的个数,默认1.0.当前每秒产生的真实粒子数为=CAEmitt ...
- SI24R2F新一代2.4G超低功耗单发射有源RFID芯片 SI24R2E升级版智能充电安全管理方案首选
目前全国有很多电动车因在充电时电池温度过高,而导致爆炸引起火灾的情况.作为国内RFID行业的推动者,动能世纪联合中科微向IOT应用领域推出新款大功率2.4G射频芯片,并针对电动车防盗.电动车充电桩市场 ...
- Objective-c粒子动画
前面贴过几篇关于SpriteKit的案例文章,其中涉及到的动画都是材质类的图片切换或则常规的动画效果,没涉及到今天要说的粒子动画,今天说的粒子动画就是在游戏中实现更佳炫酷的效果必须使用的类,OC中粒子 ...
- nRF24L01芯片控制——迈向无线的第一步
nRF24L01芯片是一款专供单片机的射频收发芯片.工作于2.4GHz~2.5GHz ISM频段.融合了shockburst技术. 我先列出该芯片的硬件参数资料: 至于每个引脚的具体用途,可以参见技术 ...
- [原创]cocos2d-x研习录-第三阶 特性之粒子系统
我想接触过游戏引擎的同学,对粒子系统应该不会陌生.它用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题.粒子系统在游戏中有着非常广泛的应用,可以模拟很多现象,如火花.爆炸.烟雾. ...
- [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议
本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...
- 如何为编程爱好者设计一款好玩的智能硬件(十)——无线2.4G通信模块研究·一篇说完
六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...
- iOS核心动画学习整理
最近利用业余时间终于把iOS核心动画高级技巧(https://zsisme.gitbooks.io/ios-/content/chapter1/the-layer-tree.html)看完,对应其中一 ...
随机推荐
- OAuth2.0说明文档
OAuth2.0说明文档 1.OAuth 2.0 简介 OAuth为应用提供了一种访问受保护资源的方法.在应用访问受保护资源之前,它必须先从资源拥有者处获取授权(访问许可),然后用访问许可交换访问令牌 ...
- Bootstrap_媒体对象
一.基本媒体对象 媒体对象一般是成组出现,而一组媒体对象常常包括以下几个部分: ☑ 媒体对像的容器:常使用“media”类名表示,用来容纳媒体对象的所有内容 ☑ 媒体对像的对象:常使用“media-o ...
- Spark HA实战
Spark HA需要安装zookeeper,推荐稳定版3.4.6. 1.下载zookeeper3.4.6,2.配置环境变量3.创建data logs4.vi conf/zoo.cfg5 data目录中 ...
- CodeUI Test:创建第一个CodeUI Test
CodeUI Test是微软自动化测试的一个比较好的项目,它的原理是获取到Windows窗口上的控件,然后针对控件的部分属性进行获取和对比,模拟对控件进行点击.双击.右键点击等事件.这样可以录制用户测 ...
- [转] - Configuring Android Studio: IDE & VM Options, JDK, etc
Configuring Android Studio: IDE & VM Options, JDK, etc You should not edit any files in the IDE ...
- CSS垂直居中的方法
前端开发过程中,水平垂直居中是比较常用的.下面直接开门见山,看看不同方法实现垂直居中的各自优点和其不足之处. 1.将“line-height”和“height”设置成一致 这种方法用来实现单行垂直居中 ...
- [SoapUI] 在SoapUI里获取Excel中多行数据并存入List
ArrayList<ArrayList<String>> getCellValuesH( String filePath, String sheetName,int tr1,i ...
- Python_Day8_面向对象编程进阶
本节内容: 面向对象高级语法部分异常处理 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 Socket开发基础 经典类vs新式类 classical vs new style: 经典 ...
- 百川即时通讯跨appkey问题解决
当前调用的sdk版本为: <script src="https://g.alicdn.com/aliww/??h5.openim.sdk/1.0.6/scripts/wsdk.js,h ...
- 数据库查询优化-SQL优化
1.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默 ...