技术栈
电子diy
FreakStudio
1 天前
python
·
嵌入式
·
多线程
·
并行计算
·
电子diy
一文速通Python并行计算:02 Python多线程编程-threading模块、线程的创建和查询与守护线程
本文介绍了 Python threading 模块的核心功能,包括线程创建与管理、线程状态监控以及守护线程的特殊应用,重点讲解了 Thread 类的实例化方法、获取当前线程信息、检测线程存活状态,以及如何实现后台线程。
FreakStudio
2 天前
python
·
嵌入式
·
多线程
·
面向对象
·
并行计算
·
电子diy
一文速通Python并行计算:01 Python多线程编程-基本概念、切换流程、GIL锁机制和生产者与消费者模型
多线程允许程序同时执行多个任务,提升效率和响应性。线程分为新建、就绪、运行、阻塞和死亡五种状态。Python的GIL锁限制多线程并行执行,适合I/O密集型任务。生产者-消费者模型通过共享缓冲区和条件变量实现线程协作,解决数据共享问题。
FreakStudio
5 天前
python
·
嵌入式
·
面向对象
·
电子diy
一文速通Python并行计算:00 并行计算的基本概念
该文介绍了 Python 并行计算的核心概念、编程模型及其应用,并介绍了了并行程序的性能分析与优化方法,如并行效率、加速比及 Amdahl 定律。此外,该文介绍了共享内存、消息传递、数据并行和任务并行等并行编程模型,并提供 Python 环境配置指南。
FreakStudio
10 天前
单片机
·
mcu
·
github
·
嵌入式
·
arduino
·
开发工具
·
电子diy
·
电子计算机
三分钟教学:手把手教你实现Arduino发布第三方库
手把手教你实现Arduino发布第三方库Arduino 发布第三方库的流程包括:构建库的基本框架后将其打包并上传至 GitHub,在 GitHub 上创建 Tag 和 Release 后,提交到 Arduino 库管理器,最后在 Arduino IDE 进行验证。
FreakStudio
18 天前
python
·
嵌入式
·
开发工具
·
大学生
·
面向对象
·
技术栈
·
电子diy
万字长文手把手教你实现MicroPython/Python发布第三方库
FreakStudio的博客文章讲解内容包括第三方库文件说明和组织、开源许可协议选择、通过black模块、Flake8模块和预提交钩子实现自动代码格式规范和静态检查以及Github/PyPi平台公开发布,还有通过mpremote工具实现MicroPython第三方库的一键安装。
FreakStudio
1 个月前
python
·
嵌入式
·
大学生
·
面向对象
·
技术栈
·
电子diy
·
电子计算机
手把手教你用 MicroPython 玩转幻尔串口舵机,代码+教程全公开
FreakStudio的博客MicroPython串口舵机库,支持幻尔科技全系列舵机,支持mpremote工具一键导入,28条指令全测试。
FreakStudio
1 个月前
单片机
·
嵌入式
·
电子diy
·
电子计算机
开源一款DDS信号发生扩展板-FreakStudio多米诺系列
FreakStudio的博客信号发生扩展板通过SPI接口生成可调频率和幅度的正弦波、方波和三角波,频率小于1MHz。支持幅度调节,提供原始和6倍放大输出接口。配备5阶低通滤波器、噪声抑制功能,优化信号稳定性。
FreakStudio
1 个月前
python
·
单片机
·
嵌入式
·
电子diy
开源一款数据转换扩展板-FreakStudio多米诺系列
FreakStudio的博客数据转换板通过I2C接口进行信号采集和输出,支持最多16通道输入和2通道输出。具备860Hz采样率和50KHz输出频率,采用16位ADC和12位DAC芯片,适用于精确信号采集;小尺寸设计,支持堆叠级联。
FreakStudio
1 个月前
单片机
·
嵌入式
·
大学生
·
电子diy
开源一款串口舵机驱动扩展板-FreakStudio多米诺系列
FreakStudio的博客总线舵机扩展板通过UART接口控制多个舵机,支持堆叠级联,最多连接4个扩展板。具备小尺寸设计、供电保护、全双工转半双工通信、稳定供电等特点,适用于多舵机控制系统。
FreakStudio
4 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:60 Python面向对象综合实例-传感器数据实时绘图器
本文将结合之前内容实现模拟一个传感器系统软件,包括三个线程:传感器线程生成数据并通过串口发送给主机进程;主机进程通过串口接收指令,进行数据滤波和处理后,将处理结果发送给绘图线程;绘图线程负责接收数据并绘制更新数据曲线。
FreakStudio
4 个月前
python
·
单片机
·
嵌入式
·
面向对象
·
电子diy
·
电子计算机
全网最适合入门的面向对象编程教程:59 Python并行与并发-并行与并发和线程与进程
在 Python 中,"并行"(parallelism)与"并发"(concurrency)通常用于描述程序的执行方式,而"线程"(thread)与"进程"(process)是实现并行和并发的两种常见方式;线程是进程中的最小执行单元,多个线程可以共享同一进程的内存空间;进程是计算机中正在执行的程序的实例,每个进程都有独立的内存空间和资源。
FreakStudio
5 个月前
python
·
单片机
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:58 Python字符串与序列化-序列化Web对象的定义与实现
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML\YAML\JSON格式这种序列化Web对象。这种序列化Web对象容易与其他程序设计语言交互,可读性强,容易被传递给其它系统或客户端。
FreakStudio
5 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:57 Python字符串与序列化-序列化与反序列化
Python 序列化与反序列化是将 Python 对象转换为字节流(序列化)以便存储或传输,和将字节流转换回对象(反序列化)的过程,pickle 模块和 shelve 模块是 Python 内置的序列化工具,以将 Python 对象序列化为二进制数据并存储或传输。
FreakStudio
6 个月前
python
·
单片机
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
Python 的 re 模块提供了强大的正则表达式操作功能,用于在字符串中搜索、匹配、替换等,正则表达式是一种匹配字符串的模式。通过正则表达式,可以轻松地查找特定模式的字符串片段,如匹配电子邮件地址、手机号、特定格式的日期等。
FreakStudio
6 个月前
python
·
单片机
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:55 Python字符串与序列化-字节序列类型和可变字节字符串
在 Python 中,字符编码是将字符映射为字节的过程,而字节序列(bytes)则是存储这些字节的实际数据结构,字节序列和可变字节字符串的主要区别在于其可变性和用途,bytearray 是可变的字节序列,允许修改其内容。
FreakStudio
6 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:54 Python字符串与序列化-字符串格式化与format方法
在 Python 中,字符串格式化是将变量插入到字符串中的一种方式,Python 提供了多种字符串格式化的方法,包括旧式的 % 格式化、新式的 str.format 方法以及 f-string(格式化字符串字面量)。
FreakStudio
6 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:53 Python 字符串与序列化-字符串与字符编码
在 Python 中,字符串是文本的表示,默认使用 Unicode 编码,这允许你处理各种字符集,字符编码是将字符转换为字节的规则,常见的编码包括UTF-8、UTF-16和ASCII。
FreakStudio
6 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
在 Python 中,接口和抽象基类(Abstract Base Classes, ABCs)都用于定义类的结构和强制子类实现特定的方法,Python 没有内建的接口机制,但可以通过抽象基类(ABC)来模拟接口的行为。
FreakStudio
6 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数
在 Python 中,函数和方法都是代码的基本单元,用于封装和执行特定的任务;它们之间有一些重要的区别,而 lambda 匿名函数则是 Python 提供的一种简洁定义小型函数的方法。
FreakStudio
6 个月前
python
·
嵌入式
·
面向对象
·
电子diy
全网最适合入门的面向对象编程教程:48 Python函数方法与接口-位置参数、默认参数、可变参数和关键字参数
在 Python 中,函数可以接受多种不同类型的参数,包括位置参数、默认参数、可变参数和关键字参数等,理解这些参数类型对于编写灵活且可维护的代码非常重要。