WCH沁恒单片机
直播中

吕钢格

9年用户 1075经验值
私信 关注
[问答]

测试CH57x芯片不使用蓝牙栈,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手册中并未给出特别具体的说明,请问是否可行?
  

回帖(1)

h1654155275.5782

2022-8-29 09:26:26
不可行,Tmos是基于32K时钟查询的。
实时性要求,你可以直接set_evt,立即执行任务,不用等待。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分