21ic电子技术开发论坛 综合技术交流 通信技术 C1101只能接收数据但发送不了数据!求指导!
发新帖我要提问
返回列表
打印

C1101只能接收数据但发送不了数据!求指导!

[复制链接]
1487|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lyh123456|  楼主 | 2013-4-18 09:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lyh123456 于 2013-4-19 15:32 编辑

单片机为STC12C5608AD,发送程序如下
//--------------------------CC1100发送数据包,第一个字节表示后面数据的长度,不包括长度字节本身
BYTE CC110x_RfSendPacket(BYTE *Buf)
{
  BYTE result = 0;
  CC110x_RX_INT_SW(DISABLE);//关接收/发送中断,中断口为INT1,连接GDO0
  delay1ms(3);
  UartSendBYTE(CC110x_WriteBurstReg(ADDR_TXFIFO, Buf, Buf[0]+1));//写入要发送的数据,Buf第一字节表示后面数据的长度,不包括本身,ADDR_TXFIFO为0X3F,
//函数返回值为0X0F;
  CC110x_GetState();//查询芯片状态,返回值为00,表示空闲状态
  CC110x_SpiStrobe(SRE_STX);//进入发送模式发送数据,SRE_STXO为0X35
  CC110x_GetState();//查询芯片状态,返回值为40,表示频率合成器校准运行中
  while(!CC110x_GET_GDO0());
  CC110x_GetState();//查询芯片状态,返回值为20,表示处于发送模式
  while(CC110x_GET_GDO0());
  result = 1;
  CC110x_GetState();//查询芯片状态,返回值为00,表示空闲状态
  CC110x_SpiStrobe(SRE_SFTX);//冲洗发送缓冲区,SRE_SFTX为0X3B
  CC110x_GetState();//查询芯片状态,返回值为00,表示空闲状态
  CC110x_SetRxMode();
  CC110x_RX_INT_SW(ENABLE); //接收中断有效
  return result;
}
程序调了几天也没调好,上面CC110x_GetState();函数是调试加上来的,程序可以运行,函数返回值为1,就是没有数据发送出去,十分不解,希望各位帮忙指导一下,十分感谢!也可加QQ:1527491005详聊

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

29

帖子

1

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部