软件定时器
LibXR实现了一个轻量级的软件定时器,即使在裸机环境下也可以使用。
对于非裸机环境,软定时器需要指定线程优先级和堆栈深度。
示例
裸机环境下会生成以下代码,不需要传入任何参数:
PlatformInit();
对于RTOS环境,需要传入线程优先级和堆栈深度:
PlatformInit(2, 512);
第一个参数为线程优先级,第二个参数为堆栈深度。
对于线程优先级有如下定义:
enum class Priority : uint8_t
{
IDLE = 0, ///< 空闲优先级 Idle priority
LOW = 1, ///< 低优先级 Low priority
MEDIUM = 2, ///< 中等优先级 Medium priority
HIGH = 3, ///< 高优先级 High priority
REALTIME = 4, ///< 实时优先级 Realtime priority
NUMBER = 5 ///< 优先级数量 Number of priority levels
};
配置文件
对于非裸机环境,会在User/libxr_config.yaml