This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc2540/1的BLE可否作到实时的传输数据

Other Parts Discussed in Thread: CC2540

dear all:

我最近在做基于cc2540/1的BLE控制,要作到peripheral 每48ms发一帧20bytes 的控制数据;使用了char7的notify功能,

现在做到了48ms可以发送出数据,center也可以收到,但是center收到数据的周期却不是48ms,有挺严重的延时;

我在peripheral发次发notify时反转一次IO口,发送完再翻转一次,center有收到数据也翻转一次IO口;得到示波器的波形如附件.

有没有 人做过类似的东西,不知道cc2540/1能否做这种实时的不大的数据传输需求?

  • 补充一下,我的时间间隔是:

    // Minimum connection interval (units of 1.25ms, 80=100ms) if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_MIN_CONN_INTERVAL     6

    // Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_MAX_CONN_INTERVAL     6

    我也确认了一下,center接收到的数据没看到有丢帧的现像,只是常常一次接收到了两帧的数据.我在peripheral发送的数据中的一个字节自加1 ,

    在center接收到的数据将这个字节用串口回报回来,如下是串口接收到的数据:

    [2016:06:27:13:28:52]EB EC
    [2016:06:27:13:28:52]ED EE
    [2016:06:27:13:28:52]EF F0
    [2016:06:27:13:28:52]F1 F2
    [2016:06:27:13:28:53]F3 F4
    [2016:06:27:13:28:53]F5 F6
    [2016:06:27:13:28:53]F7 F8
    [2016:06:27:13:28:53]F9 FA
    [2016:06:27:13:28:53]FB FC
    [2016:06:27:13:28:53]FD FE
    [2016:06:27:13:28:53]FF 00
    [2016:06:27:13:28:53]01 02
    [2016:06:27:13:28:53]03 04
    [2016:06:27:13:28:53]05 06
    [2016:06:27:13:28:54]07 08
    [2016:06:27:13:28:54]09 0A
    [2016:06:27:13:28:54]0B 0C
    [2016:06:27:13:28:54]0D 0E
    [2016:06:27:13:28:54]0F 10 11 12

  • 你48ms才notify一次,为什么要把connection interval设置的那么低呢?建议加大connection interval,比如15ms什么的试一下

  • 谢谢你的回复,connection interval我其它的值也都试过了,没什么效果.

    我也试了从center发数据给peripheral,48ms一次的话也大概会丢4帧

    也就是说大概200ms发一次数据的话才会正常不丢帧,不知道你有没有遇到类似问题.谢谢!