找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5970|回复: 8
收起左侧

CC1101调试笔记

[复制链接]
ID:262 发表于 2014-7-5 01:46 | 显示全部楼层 |阅读模式
这是我第一次进行CC1101调试。整个过程花费了真的很久,,,,现在只是初步实现了数据的发射与接收,后续还要继续调试。
先说说这一次调试的不足,首先就得自己经验不够,在没有得到预计效果的时候不能找到正确的解决办法,做事有些胆小。最开始用的51单片机进行调试,目标是发送数据点亮一盏LED,结果,弄了很久也么有得到想要的现象。一直怀疑是自己的程序问题(程序是网上找的),然后不断地读程序,该C1101的配置,还是没有结果,这一过程花费了将近一周的时间,可谓是很大的浪费,后来实在找不出问题了,在网上买了配套的开发板,才发现是模块已经坏掉了,看到这个结果的时候,整个人都不好了,不过还好,算是找到问题所在了,更换模块之后,51板上的程序很快就实现了。

然后是在STM32上的实现,程序也是在网上找的,找了很多个版本。这一次的计划是用STM32与C1101连接做数据发射端,之前验证过的51和C1101连接做接收端。然后直接用J-LINK下载程序进行仿真,设置断点,结果得不到想要的现象,程序一直死在while(!GDO0),这一次模块确定是没问题了,就断定是自己的程序问题,于是又开始了漫长的程序修改,又是一周过去了·········直到昨天下午,同学过来帮忙看程序,两个人讨论了半天,终于找到了问题所在。
原因不是程序,是仿真断点的设置,CC1101发送数据会经历一个GDO0引脚电平“低-高-低”的过程,默认状态的GDO0的引脚为低电平,开始发送数据的时候变成高电平,数据发送完成之后回到低电平。而我在while(!GDO0)设置断点之后,32已经停止了运行,但是CC1101还在运行,它经历了完整的数据发送之后,GDO0的引脚回到了低电平,所以当我继续运行32的时候,程序会一直死在while(!GDO0)。只要把断点的位置改了,不要在while(!GDO0)设置断点就OK了。
总结这次调试遇到的问题以及解决,还是发现自己有太多的不足,在问题出现的时候,会将注意力全部集中在一个问题可能出现的地方,而忽视了其它可能的原因,导致自己浪费了大量的时间。在以后的调试中,要弄清楚硬件和程序的运行流程,这一点十分重要,仿真还是需要的,但要搞清楚自己的硬件会用怎样一种方式进行下去。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表