完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想实现一个功能,从外部设备采集数据,每一次的采集时间比较长,大概300ms,然后通过蓝牙发送出去,不断循环。在蓝牙串口的例子上进行修改,新建了一个数据采集并发送事件,使用TMOS进行处理。
①在初始化处启动task,在task事件处理末尾再次启动task,达到循环的目的。 ②在程序主循环里不断启动task。 两种方法都导致蓝牙连接超时。 请问如何解决频繁启动耗时较长task导致蓝牙连接超时问题?还有就是在主函数while循环里能写函数吗,还是说只能写一些耗时较短的函数,会影响其他TMOS任务吗?源代码中蓝牙串口app_uart_process能够成功运行的原因是不是因为他是检测到串口中断才启动task,虽然写在while循环里,但是不是每次循环都运行,不会影响其他蓝牙任务? |
|
相关推荐
1个回答
|
|
通过TMOS任务调度发送处理你的任务。你的采集时间比较长,可以拉大连接间隔,给以你的任务足够的采集时间同时确保蓝牙不会断开,或者可以拆分你的任务,从上述而言,还是建议拉大连接间隔参数较好。
在while循环里不建议自己添加函数,如果需要处理某些任务可以通过添加TMOS事件轮询去处理你的任务。 |
|
|
|
只有小组成员才能发言,加入小组>>
522 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2903 浏览 2 评论
2399 浏览 1 评论
868浏览 2评论
688浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
418浏览 1评论
523浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
814浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 11:22 , Processed in 1.110049 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号