- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在为 ARM Cortex M4 使用 ASF4 API hal_timer。我正在使用定时器驱动程序对数据序列进行计时。为什么不存在重置功能?我在 TIMER_TASK_ONE_SHOT 模式下使用计时器,并希望在需要时重置它。
我想的很简单
timer_start(&TIMER_0);
timer_stop(&TIMER_0);
可以解决问题,但似乎行不通。
每次计时事件都需要重新初始化定时器吗?
我可能遗漏了一些明显的东西。我是否错误地处理了这个问题,原因是为什么 timer_reset() 方法不存在?
最佳答案
我没有这个 API 的经验,但是查看文档很明显单个计时器可以在不同的时间段执行多个任务,因此重置 TIMER_0
没有什么语义意义;相反,您需要重置附加到计时器的单个计时器任务 - 其中可能有多个。
来自documentation (它很差并且包含错误),以及 source code哪个更可靠:
timer_task_instance.time_label = TIMER_0.time ;
timer_task_instance
是您要重置的 struct timer_task
实例。这会将开始时间设置为当前时间。
可能最好将其包装在一个函数中:
// Restart current interval, return interval.
uint32_t timer_restart( struct timer_descriptor* desc, struct timer_task* tsk )
{
tsk->time_label = desc->time
return tsk->interval ;
}
然后:
timer_restart( &TIMER_0, &timer_task_instance ) ;
关于c - ASF4 Microchip API定时器驱动复位函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553878/
我有一个 ATMega8515我正在尝试设置一个计时器中断,以便如果一个进程花费的时间太长,它将关闭。 我设置定时器: void init_software_interupt(double time)
我正在尝试详细了解计算机如何启动。 我遇到了两件事让我更好奇, 1. RAM放置在ROM的底部,以避免Z80处理器中的Memory Holes。 2. 使用复位 vector ,它将处理器带到 ROM
我已经启动了一个 Spring Boot 应用程序。我添加了一个像这样的休息 Controller @RestController public class EmailController {
我使用了示例代码 super_resolution.cpp。用于从视频源创建高质量图像。所以这里是super_resolution.cpp的代码 #include #include #includ
我是一名优秀的程序员,十分优秀!