返回该小组首页 回复主题
wangcong8197

wangcong8197

小组等级:     E币:136  (E币换礼)

#1楼主:cc1110发送程序,发不出第二个字节?

文章发表于:2008-05-13 03:34

BYTE halRfSendPacket(BYTE* pData, BYTE length){
    BYTE i = 0x00;

    if(length == 0)
    {
      return 0;
    }

    // Turning on radio and writing data including length;
    RFTXRXIF = 0;
    //INT_ENABLE(INUM_RFTXRX, INT_OFF);
    RFTXRXIE="0";
    RFIF &= ~0x10;//IRQ_DONE;

    //debug:
    //PKTCTRL0 |= 0x20;
    //STX();
    RFST="0X03";


    while(RFTXRXIF == 0);
    RFTXRXIF = 0;
    RFD = length;

    // Inserting data
    for(i = 0 ; i < length ; i++){
        while(RFTXRXIF == 0); //问题出在于,当i=1时(发送第2个字节时),程序跳不出这个循环
        RFTXRXIF = 0;
        RFD = pData[i];
    }

   // Waitting for transmission to finish
   while(!(RFIF & 0x10/*IRQ_DONE*/));
   RFIF &= ~0x10;//IRQ_DONE;

   return i;
}

 

这个程序,是首先发送数据长度字节,然后发送数据,我单步调试时,RFD = length;这个可以发送,

但进入那个for循环时,可以发送RFD = pData[0],然后i=1,程序就停止在while(RFTXRXIF == 0);

跳不出,发不了第二个字节,需要配置的寄存器我都写上面了,不知还需要配置哪些,写过这方面

的程序,帮忙看下怎么写配置,谢谢各位了。

      【回复】

7206568

   小组等级:    E币:75  (E币换礼)

#2

文章发表于:2008-05-31 21:02

我也遇到了同样的问题,配置寄存器的值是根据SamrtRF studio得到的,也是在发送第一个数据之后无法得到RFTXRXIF的值变一,不知道有没有谁有写成功的发送成功的小代码?

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

浏览该小组的用户还看过...

设计资源与分销

赞助商链接

";