先说说GDO0和GDO2,这两个东西是搞CC1101很重要的两个东西,它连着你的单片机的IO口。因此你完全可以利用中断来判断当前的模块处于一种什么样的情况,当然这个还跟你怎么去设置IFGDO0和IFGDO2这两个寄存器有关系了,详见CC1101中文手册64页。

不过我的发送没有用中断来做,因为查询够了。当然查询也看你怎么查了,我见到过的有两种,如下:

1.先判断GDO0/GDO2(看你怎么连了)是否变高电平,然后再判断是否变低电平,这么一个过程就是发送一帧数据的过程。

2.判断CC1101的状态寄存器,这个也要看你的设置了,如果你发送完之后是IDLE状态则等待0x01如果发送完之后是接收状态则等待0x0d;

说到发送数据,这里说明一下,CC1101发送数据的时候是先发送前导码和同步字的,然后在发送FIFO数据长度、地址(如果接收端开启了地址过滤)以及FIFO中的数据。

在这里要说明一点:当时我和同事一起做这个的时候发现当低速率的时候他发送的数据我总是接收不到。原因就是我发送完之后等待IDLE的时间太短,所以数据根本就没发完就超时了。

说到寄存器,那CC1101的功能那么多,寄存器自然就很多。其实真正我们需要手动去设置的寄存器却不是很多,大多数寄存器都是SmartRF来自动生成的,在这里说说几个比较重要的寄存器:

FIFOTHR:这个主要是设置发送和接受FIFO能够放的下多少发送和接受的数据,一般来说都只要设置成0x07就可以了,因为如果你数据比较长你可以分包发送或者分包接收即可。

PKTLEN:最大数据包长度设置。

PKTCTRL1:这个寄存器如果你需要地址过滤的话那就需要开启地址过滤,还有就是如果你想在你的数据FIFO最后两个字节放上RSSI的值和LQI值以及CRC_OK的话就需要做相应的设置。

PKTCTRL0:想开启数据白化和CRC校验的话就设置一下咯,当然还有比较重的就是是否是固定长度数据包或者是可变长度数据包,区别就是固定的话那前导码和同步字后就不需要加上FIFO数据长度了,反之则需要加上FIFO数据长度。否则CC1101怎么知道你要发多少数据呢?

MCSM1:这个太重要了,决定了你发送完或者接收完数据后下一个状态是什么。

MCSM0:选择自动校准还是手动校准,听说不校准的话速率低倒关系不大,速率高了可能跑偏了影响就大了。

cc1101 学习1相关推荐

  1. TI CC1101学习笔记(四)

    相关功能及原理部分已经在TI CC1101学习笔记(一)~(三)中简要概述了,本节将继续学习TI CC1101的寄存器配置及相关功能. 3 个数字输出引脚 GDO0 和 GDO1 和 GDO2为常规控 ...

  2. TI CC1101学习笔记:工作原理简单入门

    众所周知,在IOT的市场应用中,从通信协议细分的话,有SUB-1G,2.4G,3G, 4G,以及最新推出的5G,虽然5G通信协议已经在崭露头角,但是不同的通信协议在不同的应用领域之中还是占据着一定的重 ...

  3. TI CC1101学习笔记(五)

    因本人项目原因,故系统学习了TI CC1101这款芯片的运行机制和开发流程.但因项目的工程性.繁琐性与部分内容的保密性,所以,若有相和我交流CC1101的小伙伴,欢迎私聊我知乎 .在此,本人提供一些个 ...

  4. TI CC1101学习笔记(一)

    TI CC1101是一款低于1GHz高性能射频收发器,设计旨在用于低功耗RF应用.其主要针对于工业,科研和医疗(ISM)以及短距离无线通信设备(SRD).CC1101可提供对数据包处理.数据缓冲,突发 ...

  5. CC1101学习(一)

    CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计.电路主要设定为在315.433.868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置 ...

  6. TI CC1101学习笔记(三)

    2.10 数据包长度 CC1101 支持恒定长度数据包协议和可变长度协议. 可变或固定数据包长度模式能支持的长度可达 255 字节. 大于255个字节的数据包,必须使用无限数据包长度模式: 使用不同长 ...

  7. 如何使用jQuery创建表格Zebra Stripes效果

    这是一个简单的示例,展示了如何使用jQuery创建表格Zebra Stripes效果. <html> <head> <title>jQuery Zebra Stri ...

  8. 一种简陋的CC1100/CC1101主从通信协议

    /* forsakening @hdu  2013/6/18 */ /* 版权所有~~^ _ ^  */ ----------------------------------------------- ...

  9. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

最新文章

  1. 矩阵快速幂+构造方法
  2. (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)
  3. labview生成exe
  4. .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】...
  5. RTT设备与驱动之I2C:
  6. VIM查找替换归纳总结
  7. 【Python】while里面是负数时条件还为真吗?
  8. IOS-UITextField-改变光标颜色
  9. OPenCV膨胀函数dilate()的使用
  10. 11.向量vector.rs
  11. C# xml文件读取与修改
  12. java实用教程——组件及事件处理——布局的一个小实例
  13. 关于Markdown编辑器怎么写“|”等特殊符号的问题
  14. QT--QDockWidget 停靠窗口
  15. “吸才”的字节跳动和“散才”的好未来
  16. javaEE异常摘要——更换工作区相同tomcat当部署在同一个项目疑难解答
  17. svn提交代码失败提示清理(清理失败并且报错信息乱码解决办法)
  18. 【智能制造】智能制造将势不可挡
  19. 塔防java_塔防游戏--java游戏
  20. 印章与印鉴的区别_篆刻与印章有区别

热门文章

  1. 大数据、云计算系统高级架构师课程学习路线图
  2. 爬虫项目——Scrapy爬取Boss直聘
  3. stm32+esp8266(wifi模块)+贝壳物联+开关控制
  4. C/C++浮点数格式——IEEE754标准
  5. ES索引数据迁移 _reindex
  6. 常见的web安全问题有哪些
  7. shl 和 shr
  8. 【Python爬虫学习】八、股票数据定向爬虫(2020年1月31日成功爬取中财网,百度股市通web版404了)
  9. python编程基础张勇答案_2020智慧职教云课堂Python编程基础答案完整满分课后作业答案...
  10. A Review on Deep Learning Applications in Prognostics and Health Management (翻译)