CC1101 监听空气中载波信号强度(CCA)功能调试通过
来源:互联网 发布:程序员试用期 编辑:程序博客网 时间:2024/04/29 18:11
阅读本文章前,请先认真阅读数据手册,同时查看我转载的CCA(1)和CCA(2)两篇文章进行扫盲。
最近一直在用CC1101这款无线芯片,今天把CCA功能调试成功了,特来分享一下。我的思路是使能CC1101为CCA功能,GDO2引脚配置为输出载波感应电平,设置好感应电平阈值。现在监听空气中的载波信号强度,如果接收信号强度高于门限时,GDO2为高电平;当接收信号强度低于门限时,GDO2为低电平。
CCA初始化函数如下:
void CC1101CCA( void )//配置为载波监听功能
{
CC1101WriteReg(CC1101_IOCFG2,0x0E);//GDO2引脚输出载波感应电平,如果RSSI级别在门限之上为高电平
CC1101WriteReg(CC1101_MCSM1,0x3F);//接受信号强度低于门限值且当前未接收报文则信道空闲,让TX和RX结束后,芯片都保持在RX状态。
CC1101WriteReg(CC1101_AGCCTRL1,0x40);//低噪声放大器增益先减小,载波监听相对阈值禁用,载波监听绝对阈值由MAGN_TARGET设置
CC1101WriteReg(CC1101_AGCCTRL2,0x07);//42dB
}
实验源程序如下:
void main( void )
{
GPIO_Init( );//IO口和晶振初始化
SPI_Init( ); //SPI配置初始化
CC1101Init( ); //CC1101初始化
CC1101CCA( ); //CC1101 CCA配置
while( 1 )
{
CC1101SetTRMode( RX_MODE );//CC1101设置为接收模式
__delay_ms(1);//设置为接收模式后需要稍微等待一下,CC1101才能检测空气中的载波信号
if(GDO2==1)//检测到空气中有载波信号
{
//让LED状态取反
}
__delay_ms(50);//延时一段时间,以便人眼能看到LED闪烁
CC1101WriteCmd( CC1101_SFRX );//每次接收完数据后,都需要清空RX FIFO,以便下次接收
}
}
实验结果:让另一端的CC1101周期性的发送数据,现在接收端的GDO2会周期性的出现高电平,因此LED灯不停的闪烁。
1 0
- CC1101 监听空气中载波信号强度(CCA)功能调试通过
- cc1101 CCA 空闲信道评估(Clear Channel Assessment,CCA)
- 信号强度监听
- CC1101调试
- 载波监听
- 监听电池电量,信号强度,手机状态
- 监听电池电量,信号强度,手机状态
- Android 监听Wifi状态和信号强度
- Android 监听双卡信号强度
- CC1101调试和使用中疑难问题总结
- Android中获取信号强度
- android-监听wifi状态和信号强度变化
- Android 监听双卡信号强度(附完整代码)
- 信号强度
- CC1101的调试
- CC1101调试入门
- CC1100 CCA功能验证
- 智能手机中显示信号强度格数
- 记录下LINUX下的LED驱动,IOCTL方式
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 嵌入式系统之KPN网络图
- IOS 数据存储
- OMA Download 入门
- CC1101 监听空气中载波信号强度(CCA)功能调试通过
- OVS中的datapath学习
- 设置新建的Html文档编码。。。
- 编写高质量代码基础
- (二)线程同步_6---修改锁的竞争原则
- java 视频
- 我眼中的linux命令用于oracle的问题诊断——TOP命令
- Android开发:用通知栏(Notification Bar)控制音乐的后台播放
- iOS定位操作,获取当前位置,计算两点之间距离