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)看完,对应其中一 ...
随机推荐
- 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样...
出错提示: 正尝试在 OS 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起. 原因分析: .NET2.0中增加了42种非常强大的调试助手 ...
- 苹果微信input输入框被键盘遮挡
最近一个项目,input输入框需要在页面的最下面(position:fixed),这样,当键盘获取焦点的时候, 苹果自带键盘不会挡住输入框,但是搜狗输入法的键盘就会挡住.可以用以下方法解决: docu ...
- Cheatsheet: 2016 11.01 ~ 11.30
Web Getting Started With Vapor: A Swift Web Framework Front-end vs Back-end vs Network Performance S ...
- 微信小程序-视图数据绑定
数据绑定 在逻辑层设置数据例如: Page({ data: { message: 'Hello MINA!' } })//设置了一个属性,名称是message 值为Hello MINA! 在视图显示数 ...
- 什么是js和js的基本语法
时间:2016年12月15日 先讲讲基础语法: 大部分是来操作表单: js动态效果和数据交互(ajax?) js也有自己的API js大部分的DOM操作都是针对input的. 案例学习,对注册页面的简 ...
- hihoCoder 1427 : What a Simple Research(大㵘研究)
hihoCoder #1427 : What a Simple Research(大㵘研究) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...
- 老王讲自制RPC框架.(一.前言与技术选型)
(#)背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只 ...
- cmd命令行提示符
cd..用来返回上层到目录 cd download(某一具体文件夹)进入此文件夹中的一个文件夹 进入命令行时直接输入D: 进入D盘 dir 显示文件目录
- sim800 gprs发送数据的AT流程
switch(send_flag) { case 1: uart_send(&huart4,"AT\r\n",4); //AT break; case 2: uart_se ...
- 第四周作业-yjw
运动策略分析 首先我们可以得到我方击球手质心的位置,球的质心的位置,对方球门中心位置.同时以桌面边缘为坐标轴,建立笛卡尔坐标系.可以明确的一点是,击球手的运动为曲线,球进框的运动为直线,或者折线. 击 ...