RPI_PICO_TimerInterrupt:有什么方法可以将计时器设置为零以获得已知的开始时间?

问题描述 投票:0回答:0

我在 Arduino IDE 2 环境中为 Raspberry Pi Pico 使用 RPI_PICO_TimerInterrupt 库。 khoih-prog 的 RPI_PICO_TimerInterrupt 库涵盖了我想做的事情;一个细节在逃避我。 库 URL 是 https://github.com/khoih-prog/RPI_PICO_TimerInterrupt.

我有一个 GPS 接收器每秒 1 个脉冲的输出连接到输入引脚并触发硬件中断。效果很好。

我创建了一个中断定时器: RPI_PICO_Timer elementTimer(1); // 三个定时器可用,这是使用 1 并将其附加到 setup() 中的中断服务例程 elementTimer.attachInterruptInterval(TIMER_RATE, TimerISR); 计时器按照宣传的方式工作并调用 TimerISR。

我想重新启动硬件中断服务程序中的计时时钟,以便在触发硬件 ISR 时准确开始计时。我假设这涉及将一些变量设置为零或调用库中的“reset()”方法。

我没有看到图书馆包含这样做的方法——我错过了什么吗?

我尝试了 .restartTimer() 方法(这是为了重新启动一个停止的定时器,我知道;但我试过了)并且我尝试在硬件 ISR 中重新实例化定时器对象。 两者都没有改变计时器的“相位”。

在我看来,必须有某种方法可以将计时器作为秒表来运行,但我找不到它。

我的总体目标是将 GPS 接收器的 PPS 信号细分为每秒可以触发所需次数的中断,从 PPS 上升沿开始。

谢谢。

大卫 AD8Y

timer interrupt raspberry-pi-pico
© www.soinside.com 2019 - 2024. All rights reserved.