完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
连续最多只能发送8个字节,后面的返回0x16 blePending,如何加大缓冲区和实现重发?
if(events & START_REPORT_EVT) { send_char[send_len] = 0x00; for(i=0; i<=send_len; i++) { res = hidEmuSendKbdReport(send_char); if(res == blePending) i--; //本想这样实现重发,但不行 UART0_SendByte(res); //串口发出本次返回的结果:前8个是00,第9个开始是0x16?blePending } return (events ^ START_REPORT_EVT); } 请给予指导!谢谢! |
|
相关推荐
1个回答
|
|
不要这样发,这个是把数据先送到BLE LIB的发送队列,LIB也在等连接间隔将数据发出,你这样阻塞的循环调用,会影响其他任务执行。
正常操作按键做缓存,定时调用发送任务,启用按键发送。 |
|
|
|
只有小组成员才能发言,加入小组>>
522 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2904 浏览 2 评论
2400 浏览 1 评论
870浏览 2评论
689浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
418浏览 1评论
530浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
814浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 10:27 , Processed in 1.113516 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号