TMOS实时性

正在测试CH57x芯片不使用蓝牙栈,仅仅使用2.4G_PHY层进行无线通讯(自己做跳频),因为遥控设备有实时性要求,而TMOS本质是在main中进行轮询操作,产品规划涉及到单色LCD刷屏可能会导致会有大页面更新操作(相对耗时),所以main中比较担心会影响跳频时序。


当前想法是将你们推荐放在main中轮询的TMOS_SystemProcess ()函数放在一个专门的200us中断中执行,所有2.4G_PHY跳频操作都尽量轻量化,而且TMOS的event这些统统不会在main的函数中变更(event全都在仅仅在ProcessEvent或者CB函数中操作(等于都在200us中断中执行),防止中断和非中断同时操作event标志,导致OS系统混乱),main中只会访问无线发送和接收缓冲。这样就等于将基于TMOS升级成了实时系统,而产品其他函数操作都是非实时在main中轮询。


好像TMOS是基于RTC中断的,只要我把设想的200us中断设置的比RTC中断优先级低,且开启中断嵌套,那么道理上在200us中断中跑TMOS_SystemProcess (),应该是可行的。


以上仅仅是个人猜想,你们TMOS手册中并未给出特别具体的说明,请问是否可行?

不可行,Tmos是基于32K时钟查询的。

实时性要求,你可以直接set_evt,立即执行任务,不用等待。


请问一下tmos_set_event()相当于函数调用,还是设置了一个标志等待TMOS轮询呢?


和tmos_start_task是一样的,都是设置标志通过tmos来轮询的。


参考我这个帖子:TMOS实现长延时,并且不影响蓝牙功能 - 沁恒微电子社区 (wch.cn)


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