|
|
@@ -34,13 +34,21 @@ def sleep_us(us) -> None:
|
|
|
...
|
|
|
|
|
|
def ticks_ms() -> None:
|
|
|
- """返回不断递增的毫秒计数器,在某些值后会重新计数(未指定)。计数值本身无特定意义,只适合用在ticks_diff()。
|
|
|
- 注: 直接在这些值上执行标准数学运算(+,-)或关系运算符(<,>,>,> =)会导致无效结果。执行数学运算然后传递结果作为参数给ticks_diff() 或 ticks_add() 也将导致函数产生无效结果。"""
|
|
|
+ """
|
|
|
+ 返回不断递增的毫秒计数器,在某些值后会重新计数(未指定)。
|
|
|
+ 计数值本身无特定意义,只适合用在ticks_diff()。
|
|
|
+ 注: 直接在这些值上执行标准数学运算(+,-)或关系运算符(<,>,>,> =)会导致无效结果。
|
|
|
+ 执行数学运算然后传递结果作为参数给ticks_diff() 或 ticks_add() 也将导致函数产生无效结果。
|
|
|
+ """
|
|
|
...
|
|
|
|
|
|
def ticks_us() -> None:
|
|
|
- """返回不断递增的微秒计数器,在某些值后会重新计数(未指定)。计数值本身无特定意义,只适合用在ticks_diff()。
|
|
|
- 注: 直接在这些值上执行标准数学运算(+,-)或关系运算符(<,>,>,> =)会导致无效结果。执行数学运算然后传递结果作为参数给ticks_diff() 或 ticks_add() 也将导致函数产生无效结果。"""
|
|
|
+ """
|
|
|
+ 返回不断递增的微秒计数器,在某些值后会重新计数(未指定)。
|
|
|
+ 计数值本身无特定意义,只适合用在ticks_diff()。
|
|
|
+ 注: 直接在这些值上执行标准数学运算(+,-)或关系运算符(<,>,>,> =)会导致无效结果。
|
|
|
+ 执行数学运算然后传递结果作为参数给ticks_diff() 或 ticks_add() 也将导致函数产生无效结果。
|
|
|
+ """
|
|
|
...
|
|
|
|
|
|
def ticks_cpu() -> None:
|
|
|
@@ -48,11 +56,22 @@ def ticks_cpu() -> None:
|
|
|
...
|
|
|
|
|
|
def ticks_add(ticks, delta) -> None:
|
|
|
- """给定一个数字作为节拍的偏移值 delta,这个数字的值是正数或者负数都可以。 给定一个 ticks 节拍值,本函数允许根据节拍值的模算数定义来计算给定节拍值之前或者之后 delta 个节拍的节拍值 。 ticks 参数必须是 ticks_ms(), ticks_us(), or ticks_cpu() 函数的直接返回值。然而,delta 可以是一个任意整数或者是数字表达式。ticks_add 函数对计算事件/任务的截至时间很有用。(注意:必须使用 ticksdiff() 函数来处理 最后期限)。"""
|
|
|
+ """
|
|
|
+ 给定一个数字作为节拍的偏移值 delta,这个数字的值是正数或者负数都可以。
|
|
|
+ 给定一个 ticks 节拍值,本函数允许根据节拍值的模算数定义来计算给定节拍值之前或者之后 delta 个节拍的节拍值 。
|
|
|
+ ticks 参数必须是 ticks_ms(), ticks_us(), or ticks_cpu() 函数的直接返回值。
|
|
|
+ 然而,delta 可以是一个任意整数或者是数字表达式。ticks_add 函数对计算事件/任务的截至时间很有用。
|
|
|
+ (注意:必须使用 ticksdiff() 函数来处理 最后期限)。
|
|
|
+ """
|
|
|
...
|
|
|
|
|
|
def ticks_diff(ticks1, ticks2) -> None:
|
|
|
- """计算两次调用 ticksms(), ticks_us(), 或 ticks_cpu()之间的时间。因为这些函数的计数值可能会回绕,所以不能直接相减,需要使用 ticks_diff() 函数。“旧” 时间需要在 “新” 时间之前,否则结果无法确定。这个函数不要用在计算很长的时间 (因为 ticks*() 函数会回绕,通常周期不是很长)。通常用法是在带超时的轮询事件中调用:
|
|
|
+ """
|
|
|
+ 计算两次调用 ticksms(), ticks_us(), 或 ticks_cpu()之间的时间。
|
|
|
+ 因为这些函数的计数值可能会回绕,所以不能直接相减,需要使用 ticks_diff() 函数。
|
|
|
+ “旧” 时间需要在 “新” 时间之前,否则结果无法确定。
|
|
|
+ 这个函数不要用在计算很长的时间 (因为 ticks*() 函数会回绕,通常周期不是很长)。
|
|
|
+ 通常用法是在带超时的轮询事件中调用:
|
|
|
代码示例:
|
|
|
# 等待 GPIO 引脚有效,但是最多等待500微秒
|
|
|
|
|
|
@@ -64,5 +83,10 @@ def ticks_diff(ticks1, ticks2) -> None:
|
|
|
...
|
|
|
|
|
|
def time() -> None:
|
|
|
- """返回从开始时间的秒数(整数),假设 RTC 已经按照前面方法设置好。如果 RTC 没有设置,函数将返回参考点开始计算的秒数 (对于 RTC 没有后备电池的板子,上电或复位后的情况)。如果你开发便携版的 MicroPython 应用程序,你不要依赖函数来提供超过秒级的精度。如果需要高精度,使用 ticks_ms() 和 ticks_us() 函数。如果需要日历时间,使用不带参数的 localtime() 是更好选择。"""
|
|
|
+ """
|
|
|
+ 返回从开始时间的秒数(整数),假设 RTC 已经按照前面方法设置好。
|
|
|
+ 如果 RTC 没有设置,函数将返回参考点开始计算的秒数 (对于 RTC 没有后备电池的板子,上电或复位后的情况)。
|
|
|
+ 如果你开发便携版的 MicroPython 应用程序,你不要依赖函数来提供超过秒级的精度。
|
|
|
+ 如果需要高精度,使用 ticks_ms() 和 ticks_us() 函数。
|
|
|
+ 如果需要日历时间,使用不带参数的 localtime() 是更好选择。"""
|
|
|
...
|