www首选yyh88.com: [其他] CC1100E程序卡在中断里了,求大神帮忙,搞掂私人发红包

永利游戏开户直营
1741|32
楼主
 楼主 | 2020-1-14 23:37 | 只看该作者 ||退出气泡模式 |倒序浏览 |阅读模式
程序我是在网上找到的,SPI已经调通,配置寄存器也没有问题,就是发送数据会卡在中断。求大神们看看,指导一下。
  1. //函数名:void halRfSendPacket(INT8U *txBuffer, INT8U size)
  2. //输入:发送的缓冲区,发送数据个数
  3. //输出:无
  4. //功能描述:CC1100发送一组数据
  5. //*****************************************************************************************

  6. void halRfSendPacket(INT8U *txBuffer, INT8U size)
  7. {
  8.         halSpiWriteReg(CCxxx0_TXFIFO, size);
  9.     halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size);        //写入要发送的数据

  10.     halSpiStrobe(CCxxx0_STX);                //进入发送模式发送数据

  11.     // Wait for GDO0 to be set -> sync transmitted
  12.     while (!GDO0);     //程序卡在这里了。
  13.     // Wait for GDO0 to be cleared -> end of packet
  14.     while (GDO0);
  15.     delay(200);
  16.         halSpiStrobe(CCxxx0_SFTX);
  17. }
复制代码

cc1100e无线.zip

60.63 KB, 下载次数: 4

评论

xch 2020-1-17 12:47 回复TA
就看“ while (!GDO0); ” 这句 
xch 2020-1-17 12:47 回复TA
看一下反汇编。也用示波器看波形。 
加油吧威基基 2020-1-14 23:39 回复TA
程序我也发上来了,大神们有空帮小弟看看,我已经搞了一个月了,实在搞不好,求大神们帮帮忙,谢谢您们 
沙发
| 2020-1-15 08:30 | 只看该作者
你用的什么单片机?
浏览了下你的代码,没看到使用中断啊,spi好像也是io模拟的
你有没有用逻辑分析仪观察下时序?
板凳
 楼主 | 2020-1-15 15:53 | 只看该作者
dirtwillfly 发表于 2020-1-15 08:30
你用的什么单片机?
浏览了下你的代码,没看到使用中断啊,spi好像也是io模拟的
你有没有用逻辑分析仪观察 ...

SPI是IO模拟的,这个没有问题,读取都正常,中断,这个是CC1100E的一个中断,当发送数据同步字成功,GDO0就变高电平,发送完就变成低电平,所以程序就卡在这里了,GDO0没有变化,我也在网上看了很多这个程序,大家的都是卡在这个位置了。
地板
 楼主 | 2020-1-15 16:06 | 只看该作者
dirtwillfly 发表于 2020-1-15 08:30
你用的什么单片机?
浏览了下你的代码,没看到使用中断啊,spi好像也是io模拟的
你有没有用逻辑分析仪观察 ...

我用的是STC的单片机
5
| 2020-1-15 17:53 | 只看该作者
加油吧威基基 发表于 2020-1-15 15:53
SPI是IO模拟的,这个没有问题,读取都正常,中断,这个是CC1100E的一个中断,当发送数据同步字成功,GDO0 ...

通过GDO0判断有时会失效。超过一定时间就重新初始化试试。
6
 楼主 | 2020-1-15 20:13 | 只看该作者
dirtwillfly 发表于 2020-1-15 17:53
通过GDO0判断有时会失效。超过一定时间就重新初始化试试。

兄弟CC1100E这个芯片你有没有用过
7
| 2020-1-16 08:38 | 只看该作者
加油吧威基基 发表于 2020-1-15 20:13
兄弟CC1100E这个芯片你有没有用过

没有。我用过cc1101.
cc1100太老了,最新版本的勘误手册都是10年前的了。
8
 楼主 | 2020-1-16 09:24 | 只看该作者
dirtwillfly 发表于 2020-1-16 08:38
没有。我用过cc1101.
cc1100太老了,最新版本的勘误手册都是10年前的了。

代码是通用的,能不能发给我看看尼,兄弟谢谢你了。
9
 楼主 | 2020-1-16 09:47 | 只看该作者
dirtwillfly 发表于 2020-1-16 08:38
没有。我用过cc1101.
cc1100太老了,最新版本的勘误手册都是10年前的了。

大哥你留个QQ或者微信,我加一下你,谢谢您。
10
| 2020-1-16 11:22 | 只看该作者
加油吧威基基 发表于 2020-1-16 09:24
代码是通用的,能不能发给我看看尼,兄弟谢谢你了。

抱歉,代码发给客户后我都删除了。提供不了啊。网上有很多例程的,你找几个靠谱的参考
11
 楼主 | 2020-1-16 11:57 | 只看该作者
dirtwillfly 发表于 2020-1-16 11:22
抱歉,代码发给客户后我都删除了。提供不了啊。网上有很多例程的,你找几个靠谱的参考 ...

大哥,能不能推荐一个。
12
| 2020-1-16 12:00 | 只看该作者
加油吧威基基 发表于 2020-1-16 11:57
大哥,能不能推荐一个。

下载频道搜索一下有很多的:http://www.ib955.com/456/list.html
13
 楼主 | 2020-1-16 14:06 | 只看该作者
dirtwillfly 发表于 2020-1-16 12:00
下载频道搜索一下有很多的:http://www.479.bo611.com/list.html

好的,www首选yyh88.com:谢谢大哥
14
| 2020-1-17 07:01 | 只看该作者
1、认真核对size大小。
2、等不来就不等了,根据size大小做适当延时,略过。但while()语句有读的功能,看看手册,是否有读GDO0的必要。
15
| 2020-1-17 20:46 | 只看该作者
以前我调模拟SPI的时候碰到24L01这种情况是写数据就错了,不是没中断。
16
| 2020-1-18 09:39 | 只看该作者
我用STM32也遇到过这个问题,SPI写入速度太快,cc1101来不及响应有可能程序会卡在循环中,要在while (!GDO0); 前加一点延时
17
 楼主 | 2020-1-21 23:24 | 只看该作者
wushiye54 发表于 2020-1-18 09:39
我用STM32也遇到过这个问题,SPI写入速度太快,cc1101来不及响应有可能程序会卡在循环中,要在while (!GDO0 ...

您好,这几天没有看论坛,不好意思,我现在中断过了,但进入发送模式的时候,没有发射。用while一直循环就有发射。
18
 楼主 | 2020-1-21 23:26 | 只看该作者
wushiye54 发表于 2020-1-18 09:39
我用STM32也遇到过这个问题,SPI写入速度太快,cc1101来不及响应有可能程序会卡在循环中,要在while (!GDO0 ...

论坛回复太慢,能否留个联系方式?现在也放假了,我也不想打扰你愉快的假期,你有空旧回复一下,最好留个联系。谢谢您。
19
| 2020-1-23 22:59 | 只看该作者
你留个QQ或微信不就行了
20
| 2020-1-24 13:35 | 只看该作者
现象描述】:在单机发送中,要求该机发送完成后转入接收状态,等待接收。不管有没有接收到语音数据,若发送时刻到来,则必须启动发送。现在的问题是有时发送一会语音数据就不能正常发送了,正常工作的持续时间长短不一。测试发现,PC指针原来是一直停留在了while(!GDO0);这条语句上了。该条语句的功能是判断是不是开始发送数据,当GDO0有上升沿出现的时候,表示开始发送数据。

【解决方法】在开始发送数据之前,先向CC1100写SIDLE命令使无线芯片CC1100转入空闲状态。然后再往TX FIFO里写入数据。数据写完后,写命令STX转发送状态开始发送。

【结果分析】用该方法后,发现带有状态转换的单机发送能够持续成功发送了。仔细研究CC1100数据手册后发现,写指令STX,在两种情况下可以成功转入到发送状态。一:在空闲状态。此种情况下可直接转入发送态。二:在接收态,并且要求是CCA使能。此种情况有个条件才能成功转入发送态,就是当信道清除时。
由此可以理解为什么之前的非正常现象了。虽然在MCSM1寄存器中的RXOFF-MODE位为00,表示接收完成后自动转入到空闲态。但是在程序中,在接收态一直等待接收,如果没有接收到数据,就不能转入空闲态了。因此再发送数据需要满足上面的第二个条件。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
永利游戏开户直营 澳门娱乐网 威尼斯人彩票娱乐直营网 维多利亚天津快乐十分彩票官网 霸气的赌钱名字登入
银泰北京赛车(PK10)时时彩q群 娱乐国际网上娱乐场 亚洲赌城官网 澳门赌场盗窃网上娱乐场 摩纳哥蒙特卡罗赌场
菲律宾申博太阳城注册开户手机客户端下载 韩国赌场vip服务 申博百家乐游戏中心游戏 廉江新野娱乐城dj 澳门5步廊旅舍十六浦在什么了路
大发娱乐网站 菲律宾申博手机APP下载游戏导航 时时彩娱乐官方直营 亚洲国际香港六合彩计划群大全 申博sunbet开户游戏