我需要在 ISR 代码中使用
utime.ticks_diff()
。你认为它对 ISR 安全吗?他们说在 ISR 中你不应该使用浮点。 ticks_diff()
的代码是这样的:
def ticks_diff(a, b):
return ((a - b + MICROPY_PY_UTIME_TICKS_PERIOD // 2) & (MICROPY_PY_UTIME_TICKS_PERIOD - 1)) - MICROPY_PY_UTIME_TICKS_PERIOD // 2
它有一些划分,但我不确定是否使用浮点......
MicroPython“实现 Python 3.4 以及 Python 3.5 及以上版本的一些精选功能”。
//
运算符是“向下除法”(Python 3.4文档),从那里开始
整数整除得到一个整数
MicroPython 与 CPython 的差异列表并没有说明
//
在 MicroPython 中的工作方式与在 CPython 中的工作方式有任何不同。
所以你应该可以安全地使用这种方法 - 但为什么不尝试一下呢?