打印

29466+ 6936 通信问题.....附有程序.

[复制链接]
2001|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rocky_bian|  楼主 | 2010-7-19 11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
main.rar (1.92 KB)
这个main.c 里面含有发送 与接受,当有按键时,发送数据,另一个设备接收数据,这个过程是能实现的,问题是如何才能正确显示接受到的数据
沙发
rocky_bian|  楼主 | 2010-7-19 11:08 | 只看该作者
当有按键的时候,将 TxPayloadBuffer[]的数据发送出去
SW1_Data_ADDR |= SW1_MASK; // Write a 1 so we can read the switch
        if (!(SW1_Data_ADDR & SW1_MASK))
        {
            // Transmit a packet when the "Switch 1" button is pressed.
            nRED_LED_Data_ADDR &= ~nRED_LED_MASK; // Red LED On
            Delay(DELAY_COUNT); // Give the user a chance to see the LED.
            // This also guarantees the receiver has been running for at least 1ms.
            // Stop receiving so that we can transmit
            RadioAbort();
            RadioSetPtr(TxPayloadBuffer); // Set the transmit buffer
            RadioBlockingTransmit(0, PAYLOAD_LENGTH); // Send it
            ++TransmittedCount;
            nRED_LED_Data_ADDR |= nRED_LED_MASK; // Red LED Off
            // Wait for user to release the "Switch 1" button.
            SW1_Data_ADDR |= SW1_MASK; // Write a 1 so we can read the switch
            while(!(SW1_Data_ADDR & SW1_MASK));
            RadioSetPtr(RxPayloadBuffer); // Set the receive buffer
            RadioStartReceive(); // Restart the receiver
            Delay(SWITCH_DEBOUCE); // Debounce switch
        }

使用特权

评论回复
板凳
rocky_bian|  楼主 | 2010-7-19 11:09 | 只看该作者
main里面循环检测接受的状态.
        RxState = RadioGetReceiveState();

        if (RxState & RADIO_COMPLETE)
        {
            ReceivedPayloadSize = RadioEndReceive();
                       
            if (!(RxState & RADIO_ERROR))
            {
                if (ReceivedPayloadSize == PAYLOAD_LENGTH)
                {
                    // Successfully received a packet
                    ++ReceivedCount;

                    // Give the user feedback a packet has been received
                    nGREEN_LED_Data_ADDR &= ~nGREEN_LED_MASK; // Green LED On
                    Delay(DELAY_COUNT); // Give the user a chance to see the LED
                    nGREEN_LED_Data_ADDR |= nGREEN_LED_MASK; // Green LED Off
                }
                                         
                               
                // else drop Packet. Not the correct length
            }
            else
            {
                // Packet received with an error.
            }

            // Restart the receive operation
            RadioStartReceive();
        }

使用特权

评论回复
地板
rocky_bian|  楼主 | 2010-7-19 11:11 | 只看该作者
问题是如何才能得到接受的数据(数组)呢???按道理接受的数据应该放置在RxPayloadBuffer里面!

使用特权

评论回复
5
jxin| | 2010-7-23 18:08 | 只看该作者
还没解决阿, 这个要专家才能帮上啊

使用特权

评论回复
6
rocky_bian|  楼主 | 2010-8-19 15:44 | 只看该作者
又一个月了 ,还是没有解决...玩RF的人真的太少了,我都快奔溃了

使用特权

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

本版积分规则

40

主题

436

帖子

0

粉丝