Part Number:CC2642R-Q1
请问功能中如果涉及到定时、延时等逻辑的,需要定义较多的clock handle(约几十个量级),每个clock handle只负责了一个固定数值的定时工作,
请问:
1、这种用法是否合理,感觉资源上很浪费,clock 的使用有没有数量限制,较多的clock对象创建对系统有什么影响?。
// Clock instance for internal periodic events. Only one is needed since // GattServApp will handle notifying all connected GATT clients static Clock_Struct clkPeriodic; // Clock instance for RPA read events. static Clock_Struct clkRpaRead; static Clock_Struct clkTimeout; // Clock instance for Adv Msg, when timer is up, disable the advertisment to save power static Clock_Struct clkAdvTimeout; static Clock_Struct clktest;
2、能否在一个状态机中不同状态迁移中使用同一个clock handle,在Util_startClock() 前,才创建Util_constructClock() clock object(当前都放在初始化中创建),这样就可以随时改变定时的数值了。
Util_constructClock(&clkAdvTimeout, clkAdvTimeoutHandler,CLKADVTIMEOUT_EVT_PERIOD, 0, false, (UArg)NULL); Util_startClock(&clkAdvTimeout);
Yolande Wang:
您好,
yan jiang 说:1、这种用法是否合理,感觉资源上很浪费,clock 的使用有没有数量限制,较多的clock对象创建对系统有什么影响?
1.在软件设计中,使用大量定时器或时钟可能会导致资源浪费和系统性能问题。
每个定时器都需要一些系统资源来维护其状态和执行的逻辑,这可能导致占用内存增加,调度延迟的问题。
yan jiang 说:、能否在一个状态机中不同状态迁移中使用同一个clock handle,在Util_startClock() 前,才创建Util_constructClock() clock object(当前都放在初始化中创建),这样就可以随时改变定时的数值了。
2.理论上是可以的,重用单个 handle 可以减少资源占用的。在使用同一个时钟句柄时,确保对其进行适当的管理,包括启动、停止、重设等操作,确保时钟行为的一致性。
每次迁移重新设置时钟的数值,以实现不同状态下的不同定时行为。
,
yan jiang:
学习了,感谢大佬回答
,
Yolande Wang:
不客气,欢迎随时来论坛交流。