背景最近在研究红外收发,0/1信号延迟需要达到微秒级,而 time.sleep() 达不到这么高的精度,好在 time.time() 时间戳可以实现微秒级别,故采用此方式。代码原理非常简单,只是做个记录。def delay_us(t): start, end = 0, 0 start = time.time() offset = 10 t = (t - offset) / 1000000 while end - start < t: end = time.time()说明: offset 为修正值,根据实际情况修改。验证以延迟 30us 为例:注意事项仅 Linux 有效,Windows 下延迟最低 1000us,无法正常使用。
目录SDK 版本SDK 简介准备工作创建产品模型并注册设备设备初始化命令下发平台消息下发属性上报SDK 版本版本说明1.00提供对接 IoT Platform 平台的能力。SDK 简介SDK 提供对接 IoT Platform 的能力,开发者通过调用 SDK 接口,便可实现设备与平台之间的上下行通讯。当前SDK支持的功能有:支持设备消息、属性上报、命令下发准备工作已安装 Python 3.9 及以上已安装 paho-mqtt 库,且版本为 1.6.0 (必需)已安装 schedule 库 (必需)创建产品模型并注册设备访问 IoT Platform,进入设备接入控制台。查看 MQTT 设备接入地址,保存该地址。 在设备接入控制台选择“产品”,单击“创建产品”按钮,在弹出的对话框中,填写“产品名称”、“协议类型”、“数据格式”、“设备类型”等信息,创建产品。协议类型选择 MQTT。数据格式选择 JSON。产品创建成功后,单击“详情”进入产品详情,在模型定义页面,定义相关属性和命令。在左侧导航栏选择“设备”,单击“注册设备”,在弹出的对话框中,填写设备信息,注册设备。设备初始化设备接入平台
前言本系列课程仅供 Python 初学者参考,目的是让各位的 Python 期末考试能够如履薄冰。 因本人水平有限,加之编写时间紧张匆忙,难免有疏漏之处,敬请指正。总目录第一课第二课本节目录上次更新时间:2023-11-30 10:43(点击可直接跳转)2.1 运算符与表达式 2.1.1 算数运算符 2.1.2 赋值运算符 2.1.3 比较(关系)运算符 2.1.4 逻辑运算符 2.1.5 位运算符第二课2.1 运算符与表达式运算符是一些特殊的符号,主要用于数学计算、比较大小和逻辑运算等。Python 的运算符主要包括算术运算符、赋值运算符、比较(关系)运算符、逻辑运算符和位运算符。使用运算符将不同类型的数据按照一定规则连接起来的式子,称为表达式。2.1.1 算数运算符算数运算符是处理四则运算的符号,它们在数字的处理中被应用得最多。常用的算数操作符如下表所示:运算符说明实例结果+加1 + 12-减11 - 37*乘7 * 856/
前言本系列课程仅供 Python 初学者参考,目的是让各位的 Python 期末考试能够如履薄冰。 因本人水平有限,加之编写时间紧张匆忙,难免有疏漏之处,敬请指正。总目录第一课第二课本节目录上次更新时间:2023-11-30 10:43(点击可直接跳转)1.1 Python 语言基础 1.1.1 注释规则 1.1.2 代码缩进 1.1.3 编码规范 1.1.4 基本输入和输出1.2 变量 1.2.1 保留字 1.2.2 标识符 1.2.3 定义变量1.3 数据类型 1.3.1 整型 1.3.2 浮点型 1.3.3 文本型 1.3.4 布尔型 1.3.5 列表 1.3.6 元组 &ems
最近开发的项目中需要实现线程的暂停与恢复,但 Python 的 threading 模块并没有提供相关功能,看了一遍网上给出的例子,几乎都是用标志位显现,类似于:while flag: time.sleep(1) ...此方式并不能实现随时暂停随时恢复,只能是程序运行到这个代码块时才有效,同时在 while 循环里面延时,不是很简洁高效。于是从谷歌上找到了完美的解决方案,不需要标志位就能实现,代码如下:import ctypes from threading import Thread as _Thread class Thread(_Thread): def __init__(self, target = None, args = (), kwargs = None, name = ""): _Thread.__init__(self, target = target, args = args, kwargs = kwargs, name = name) self.kernel32 = ctypes.windll.
Scott Sloan