MultiTimer
MultiTimer copied to clipboard
Software timers extend module for embedded
超时溢出有问题
 _timer_ticks 是一个无符号数, 假如是一个无符号8位,当_timer_ticks为254,我超时为2m, target->timeout此时为0吧,这时候判断感觉出现问题了,会立马导致超时事件发生
目前是使用静态分配的方式,一个timer在被stop之后,是不会释放ram的。 是否可以考虑使用动态分配方式?
添加 is_repeated 参数,简化了重复任务的写法。
为什么重复执行的定时器不在MultiTimerYield执行重新启动,在回调函数容易漏掉 增加排序功能很好,但是去掉了重复执行功能啊,单片机又很多都是要重复执行的定时器 增加可重复执行功能 struct MultiTimerHandle { MultiTimer* next; uint64_t deadline; MultiTimerCallback_t callback; void* userData; uint64_t interval; //记录间隔 uint8_t repeat; //重复执行标记 }; //根据repeat标志重新启动定时器 if (entry->repeat) { MultiTimerStart(entry, entry->interval, entry->callback, entry->userData, entry->repeat)...
这个软定时器个人觉得很不错啊,但是带参函数的定时似乎没法做到,有办法解决吗

timer_ticks(const uint32_t out_tick)
# Summary This pull request introduces a CodeQL workflow to enhance the security analysis of this repository. # What is CodeQL CodeQL is a static analysis tool that helps identify...
这问题,比较严重。MultiTimer 默认使用 uint64_t 作为 tick 类型。8位单片机上,由于不支持 64 位运算,我将 uint64_t 降级为 uint32_t。这溢出时间。。就很短了。