注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题

dcexpert的个人空间 http://home.eeworld.com.cn/space-uid-573537.html [收藏] [复制] [分享] [RSS]

日志

MicroPython时事通讯第4期

已有 44 次阅读2018-7-24 10:51 |个人分类:MicroPython

翻译自:https://forum.micropython.org/viewtopic.php?f=19&t=5024

亲爱的社区网友,

在本周的MicroPython时事通讯中,我们将讨论时序间隔的基础知识,以及Python语言的一些重要发展。

测量时间间隔

时间是非常常见的,但正确使用很重要。MicroPython在`utime`模块(也可写作`time`)中提供专用的时间功能。可以使用以下函数:`utime.ticks_ms()`和`utime.ticks_us()`。

这些函数返回一个small integer类型,这意味着两件事:1)它们的最大值(32位微控制器上30位); 2)他们不分配任何(堆)内存。至关重要的是,它们不分配内存,因为内存分配不是确定性的,而确定性在嵌入式系统中非常重要。例如,如果您的时间间隔在100微秒范围内,如`ticks_us()`函数分配内存将花费不确定的时间,它在测量中将有变化。由于刻度函数总是花费相同的执行时间,因此可以确保获得准确的时间间隔。

关于1):因为刻度返回值受到限制,所以一旦它们达到其最大值就会回绕。虽然这似乎是一种限制,但它也有好处,因为只要您测量小于最大值的间隔(例如,使用`ticks_us`大约是1000秒),就会无限量地正确计算间隔时间。因此只要它运行,您就可以确保获得相同的结果。

系统提供了一些额外的函数来帮助您使用回绕运算。它们是用于计算刻度之间差异的`ticks_diff(t1,t0)`,以及用于计算新刻度值的`ticks_add(t,delta)`。`ticks_diff(t1,t0)`用来计算实际的时间间隔,这个函数的参数可以是任何其他ticks函数的结果。还有`ticks_cpu()`它可以提供最高的滴答分辨率,通常与已经过的CPU周期数相对应。

您可以在文档中阅读有关这些函数的更多信息:http://docs.micropython.org/en/latest/pyboard/library/utime.html

注意:在MicroPython的早期版本中,用`pyb.millis()`和`pyb.elapsed_millis(t0)`函数来测量间隔。现在应该使用较新的`utime`函数来代替这些函数。

Python语言的发展

在过去的几个星期里,在更广泛的Python世界中出现了一些重大新闻:Python的创建者 - Guido van Rossum - 宣布他从Python“领导者”位置退休。你可以在这里阅读他的公告:https://mail.python.org/pipermai ... 18-July/005664.html。我们非常感谢Guido在他花费多年设计,构建,扩展和培养它的过程中为Python付出的所有努力,以及努力维护这样一个梦幻般的社区。没有他和他的作品就没有MicroPython!

与此声明相关的是接受Python中的一个新功能,该功能将出现在Python 3.8中:赋值表达式https://www.python.org/dev/peps/pep-0572/使用新的`:=`运算符。在MicroPython中还不确定什么时候出现它。

本周活动

MicroPython活动:

来自Damien和MicroPython团队。




本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-8-19 01:59 , Processed in 0.015542 second(s), 11 queries , Gzip On, Redis On.

Powered by EEWORLD电子工程世界

© 2018 http://bbs.eeworld.com.cn/

返回顶部