微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将数组中的浮点值转换为对应的chronos时间进行比较

如何解决如何将数组中的浮点值转换为对应的chronos时间进行比较

我正在从事一个项目,该项目采用 MIDI 文件并将它们播放到步进电机上。我正在使用 mbed os6,它使用 chronos 进行所有基于时间的比较。我有一系列笔记应该在几秒钟内开始,但我不确定如何将其与

给出的当前时间进行比较

std::chrono::duration<double> timerus = motor1timer.elapsed_time()

其中经过的时间以微秒为单位返回计时值

我希望音符在当前时间超过数组中预设的音符开始时间后开始播放,但我对 C++ 非常生疏,不知道如何将我的浮点值转换为我可以使用的计时持续时间逻辑比较。我该怎么办?谢谢

解决方法

将 float number_of_seconds 值转换为 chrono 持续时间如下所示:

double number_of_seconds = ...;
auto d = std::chrono::duration<double>(number_of_seconds);

如果您要从几微秒进行转换,您会想要:

double number_of_microseconds = ...;
auto d = std::chrono::duration<double,std::micro>(number_of_microseconds);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。