循环连续发送蓝牙数据时,出现问题

我在做一个测试,系统启动后 则启动一个tmos发送 0--128数字 到蓝牙

char i=0;

Button_TaskID= TMOS_ProcessEventRegister( Button_ProcessEvent);

tmos_set_event(Button_TaskID,1);


uint16 Button_ProcessEvent( uint8 task_id, uint16 events ){

    peripheralChar4Notify(i,1);

    i++;

    if (i<129){

        tmos_set_event(ButtonScan_TaskID,1);

    }

    return 0;

}


但是接收端 每次只能接收 1,2,3,4   这4个字符

然后 后面的数据就没了....

这是什么问题啊?

Tmos用的不太对
image.png

image.png

image.png


WCH TMOS用法详解 - debugdabiaoge - 博客园 (cnblogs.com)


还是不行啊,我把 发送间隔时间 增大以后,丢的数据就少了?

请问 两个蓝牙数据包之间的 发送时间间隔 是有要求吗? 太快是不是 发不出去?

我在发送的同时 用串口 把数据打印出来,打印的是完整,但是 蓝牙接收端  接收的不完整。

image.png


image.png

把这个 注释了 以后 情况有改善,但是 还是丢数据  为什么?j_0004.gif  我想我的 ESP32 了j_0065.gif



发送 0 1 2 3没事

从4开始 发送的时候 提示 !=success

image.png

image.png


icon_rar.gifPeripheral.rar

代码


你发太快了,看下连接间隔,把现在发送间隔拉大一点,看下发送失败的返回值,如果是0x16,就是发的太快


image.png

延时60 可以了.....


只有登录才能回复,可以选择微信账号登录