摘要: 可能是全网最适合入门的面向对象编程教程:Python实现-嵌入式爱好者必看! 为了帮助初学者更好地理解和应用面向对象的设计方法,本文档更加深入地探讨其背后的原理和特点,并结合实际案例来展示其在实际开发中的应用价值。本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail 代码软件对代码进行可视化阅读便于读者理解。 阅读全文
posted @ 2024-06-23 01:06 FreakStudio 阅读(781) 评论(0) 推荐(0)
摘要: 一文速通Python并行计算:10 Python多进程编程-进程之间的数据共享-基于共享内存和数据管理器 Python多进程通信中,共享内存通过Value和Array实现高效数据共享,直接操作物理内存避免拷贝,需同步锁保证安全,支持数值、数组及自定义结构体(借助ctypes模块)。Manager则通过服务进程管理共享对象(如dict、list),支持更多数据类型但性能较低。共享内存适合高频小数据,Manager适用于复杂数据结构,两者均需进程同步机制确保数据一致性,兼顾效率与灵活性。 阅读全文
posted @ 2025-05-12 01:55 FreakStudio 阅读(134) 评论(0) 推荐(0)
摘要: C语言一点五编程实战:纯 C 的模块化×继承×多态框架 本文探讨在C语言中模拟面向对象编程(OOP)的"一点五编程"技术,通过函数指针、结构体嵌套和二级指针强制转换实现类、接口与多态。开发流程分声明(接口/类结构体、类型转换函数)、实现(方法绑定、初始化)和使用三阶段,强调方法集指针必须位于类结构体首地址以实现动态绑定。该方法将硬件驱动与业务逻辑解耦,结合嵌入式场景展示模块化设计,附伪实现循迹小车项目验证继承特性,为C语言赋予OOP的封装性、扩展性,提升嵌入式代码可维护性。 阅读全文
posted @ 2025-05-11 00:52 FreakStudio 阅读(198) 评论(4) 推荐(0)
摘要: 一文速通Python并行计算:09 Python多进程编程-进程之间的数据同步-基于互斥锁、递归锁、信号量、条件变量、事件和屏障 多进程同步机制包括互斥锁、递归锁、信号量、条件变量、事件和屏障等:互斥锁用于保护共享资源,递归锁支持同一进程重复加锁,信号量可控制访问资源的数量,条件变量用于进程间等待特定条件,事件用于进程间通信和同步,屏障用于多个进程在特定点同步,确保协同运行。 阅读全文
posted @ 2025-04-23 01:09 FreakStudio 阅读(212) 评论(0) 推荐(0)
摘要: 一文速通Python并行计算:08 Python多进程编程-multiprocessing模块、进程的创建命名、获取进程ID、创建守护进程和进程的终止 本节介绍 Python 中 multiprocessing 模块的基本用法,包括如何创建和命名子进程、获取进程 ID、设置守护进程(daemon)以及安全地终止进程,帮助实现多进程并发编程以提升程序性能。 阅读全文
posted @ 2025-04-20 01:17 FreakStudio 阅读(86) 评论(0) 推荐(0)
摘要: 一文速通 Python 并行计算:07 Python 多线程编程-线程池的使用和多线程的性能评估 本文介绍了Python线程池(ThreadPoolExecutor)的使用方法,包括线程池的基本概念、Future对象、任务提交方式(map/submit)、结果获取技巧,以及多线程性能评估工具VizTracer的使用。 阅读全文
posted @ 2025-04-16 00:36 FreakStudio 阅读(130) 评论(0) 推荐(0)
摘要: 【电子DIY神器】通吃各种5线步进电机!I2C接口控制28BYJ-48五线四相步进电机 总线单极性步进电机扩展板采用紧凑型设计,兼容XIAO系列主控板直连或独立使用,支持级联16个模块。板载ULN2003达林顿管驱动芯片(单通道500mA/整片2.5A),可适配28BYJ-48等5线4相步进电机(5-24V宽压供电),提供单步/全步/半步三种驱动模式,配备双固态电容稳压、防反接保护和可视化状态指示灯,兼具堆叠扩展能力与高可靠性。 阅读全文
posted @ 2025-04-11 00:02 FreakStudio 阅读(315) 评论(0) 推荐(3)
摘要: 一文速通Python并行计算:06 Python多线程编程-基于队列进行通信 队列是一种线性数据结构,支持先进先出(FIFO)操作,常用于解耦生产者和消费者。慢速生产-快速消费场景中,队列作为缓冲区平衡速度差异。LifoQueue是后进先出(LIFO)的栈式队列,适用于撤销操作等场景。PriorityQueue则按优先级排序,适合任务调度等需要优先处理的场景。这三种队列分别通过Queue、LifoQueue和PriorityQueue类实现,提供put()、get()等方法,是并发编程中线程安全的重要工具。 阅读全文
posted @ 2025-04-07 01:00 FreakStudio 阅读(110) 评论(0) 推荐(0)
摘要: 一文速通 Python 并行计算:05 Python 多线程编程-线程的定时运行 本文主要讲述了Python如何实现定时任务,主要有四种方式:通过threading.Timer类、通过sched模块、通过threading.Event事件机制、通过APScheduler第三方库,结合例程分析了各自使用场景和基本方法。 阅读全文
posted @ 2025-03-30 23:37 FreakStudio 阅读(71) 评论(2) 推荐(0)
摘要: 一文速通Python并行计算:04 Python多线程编程-多线程同步(上)—基于条件变量、事件和屏障 本文介绍了Python多线程同步的三种机制:条件变量(Condition)、事件(Event)和屏障(Barrier),条件变量指的是线程等待特定条件满足后执行,适用于生产者-消费者模型;Event指的是线程通过事件标志进行同步,适用于线程间简单通信;Barrier指的是多个线程需同步到同一阶段时使用,适用于并行任务的分阶段执行。 阅读全文
posted @ 2025-03-28 00:42 FreakStudio 阅读(154) 评论(0) 推荐(0)
摘要: 一文速通Python并行计算:03 Python多线程编程-多线程同步(上)—基于互斥锁、递归锁和信号量 在 Python 多线程编程中,线程同步是确保多个线程安全访问共享资源的关键技术。本篇文章介绍了互斥锁(Lock)、递归锁(RLock) 和 信号量(Semaphore) 的概念与应用。互斥锁用于防止多个线程同时修改数据,递归锁适用于嵌套锁定场景,而信号量则限制同时访问资源的线程数。 阅读全文
posted @ 2025-03-26 23:19 FreakStudio 阅读(120) 评论(0) 推荐(0)