utime.ticks_diff() 在 ISR 中运行安全吗?

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

我需要在 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

它有一些划分,但我不确定是否使用浮点......

interrupt micropython
1个回答
0
投票

MicroPython“实现 Python 3.4 以及 Python 3.5 及以上版本的一些精选功能”。

//
运算符是“向下除法”(Python 3.4文档),从那里开始

整数整除得到一个整数

MicroPython 与 CPython 的差异列表并没有说明

//
在 MicroPython 中的工作方式与在 CPython 中的工作方式有任何不同。

所以你应该可以安全地使用这种方法 - 但为什么不尝试一下呢?

© www.soinside.com 2019 - 2024. All rights reserved.