文档章节

Arduino 与无线模块 CC1101

quanwei9958
 quanwei9958
发布于 2015/07/09 17:04
字数 557
阅读 1446
收藏 5

    总结一下无线模块调试的体会。Arduino上已经有人做了这个模块的库了,但是自己根据手册写的也有一定的参考意义。

    无线模块是我认为比较难调试的模块之一,因为是双方互动的一种模块,通信失败有两方面的原因,不能从单一代码中找。代码写好了,也将各种信息写进去了,但就是收不到或者接收不到数据。首先想到的是检查设备的连线。因为是SPI通信,所以使用的是mega2560自带的SPI通道口,查看上篇文章介绍。

  除此之外CC1101有个GDO0 我连接在了板子上的48引脚、

  

 确认连线。

    其次就是测试SPI是否正常工作,在状态寄存器的0x31地址为0x14,如果你读取结果为0x14那么基本上SPI为静态工作的,查看芯片手册说这个Version状态寄存器的复位值为0x04,可能为手册的一处笔误。因为我们读取了3个模块,用了不同的代码都为这个值。

   我的检测CC1101的代码是这样写的

   

bool CC1101::selftest()
{
    return readstatus_by_addr(0x31)==0x14;
}

//然后在setup中使用下面代码片段判断CC1101是否正常工作
//根据这些信息就可以完成自检

 if(cc1101.selftest()) Serial.println("cc1101 connect success");
 else Serial.println("cc1101 connect failure");



    另外我们在测试的工程中常常用的是写Addr寄存器来测试读写是否正常,Addr寄存器地址为0x09,先写入后读出,如果前后一致,则你与芯片的通信基本上是没问题了。



   测试这些后如果你还是无法两个无线通信,那么确认信道是否一致。

   手册上建议IO电流不要超过10ma,但是经测试我直接用io口读取,电流为50mA也还正常工作。而且还有个很重要的一点,CC1101手册上说明是用3.3V供电,但是实际中发现直接连接5V也可以,而且效果更好! 用了两三天了5V没有出现问题

   

  

    源码工程地址

© 著作权归作者所有

quanwei9958

quanwei9958

粉丝 29
博文 79
码字总数 36250
作品 0
程序员
私信 提问
加载中

评论(3)

s
silicontra
海尔集成半导体推出了个芯片型号HW3000,用量巨大,距离有2.5公里双向,与si4463差不多,比si4432 si4438远,比A7108 和A7139好很多,如果是10kpbs,比sx1278 远。LoRa没办法快速率,可了解,推荐!HW3000超低双向无线fsk模块完美替代CC1101、CC1120、A7139、A7108、si4432、si4438、si4463
quanwei9958
quanwei9958 博主

引用来自“李璨最近想变白”的评论

请问您有cc1101的库文件么?可以分享给我么?
上面的 源码工程地址里有全部代码 :http://pan.baidu.com/s/1pJp9U11 这里面包含有库和demo
李璨最近想变白
李璨最近想变白
请问您有cc1101的库文件么?可以分享给我么?
CC1101 使用过程中遇到的问题汇总如下: (未完待续)

CC1101 使用过程中遇到的问题汇总如下: (未完待续) PS:TI的东西真心垃圾,就是相关的配套pdf和辅助调试软件很完整, 这个非常重要,不然。。。 好多问题已经忘记。。。 慢慢回忆中 1. 此...

Jr小王子
2014/04/21
6.9K
2
使用Arduino模块实施无线信号的重放攻击

无线电已经存在使用了很长一段时间,在这很长的一段时间里诞生了一个名叫火腿族的集体(小编:嗯 对 就是整天吃火腿的那些人^_^ CQ CQ )。无线电和互联网一样:同样存在一些安全隐患,比如:...

广岛秋泽
2015/08/27
0
0
使用Arduino UART-WiFi模块做web服务器

一、硬件准备 1.选择硬件,主要有2种: 2.UART-WIFI模块介绍 3.UART-WIFI模块配置 UART-WIFI模块需要3.3V和300mA的输入,而Arduino只能提供3.3V和50 mA,直接连接到Arduino,会导致arduino的...

开源机器人
2012/12/01
20.4K
3
alicedodo/arduino-nrf2401-bootloader

arduino-nrf2401-bootloader 介绍 这是一个专门为arduino UNO/Nano/Pro Mini打造的无线下载bootloader,可通过NRF24L01+模块或串口烧写程序.2 Kb Flash.兼容STK500V2协议,支持avrdude,支持ard...

alicedodo
04/28
0
0
在pcduino上搭载Xbee Shield

Xbee shield能使一块Arduino板通过一些无线通讯模块比如蓝牙或者zigbee等达到短程的无线通讯效果。你可以把它看成是串口或者USB的替代品。它可以使2个Arduino达到通讯效果,甚至可以实现Ard...

酸酸苹果汁
2014/01/16
218
2

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
52分钟前
5
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
4
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
13
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
14
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部