我必须编写一个实现此接口的类。当我调用启动函数时,它应该每1毫秒开始计数;当我调用停止函数时,它应该停止计数,而读函数应返回计数器的值。我怎么写这个?该项目适用于没有任何rtos的微控制器。该项目是单线程的。请给我一种编写此代码的方法。 无操作系统和多线程
。class Counter{ public: void stop()=0; void start()=0; int read()=0; };
示例:
int main() { Counter *cnt = new Counter_Implemented(); cnt->start(); //do some heavy task here cnt->stop(); int duration = cnt->read(); }
感谢您的帮助!
我必须编写一个实现此接口的类。当我调用start函数时,它应该每1毫秒开始计数;当我调用stop函数时,它应该停止计数,然后...
您可以使用两个时间戳之间的时差来实现此目的。让start
存储当前时间戳,然后停止将存储结束时间戳。然后,read
会给您带来差异,或者如果计时器当前正在运行,则可以得到now
与起点之间的差异。看起来像