- 博客(6)
- 收藏
- 关注
原创 使用HAL库实现串口的非阻塞试收发数据
提升系统响应效率非阻塞模式允许程序在等待串口数据时继续执行其他任务,避免因长时间等待导致系统卡顿。这种方式特别适合需要同时处理多任务的场景,如嵌入式系统中的实时数据采集与用户交互并行处理。避免资源浪费在阻塞模式下,线程会持续占用CPU资源等待数据到达,而非阻塞模式下通过轮询或事件驱动机制(如中断)释放CPU资源,减少无意义的空转,提高整体资源利用率。增强实时性非阻塞操作结合超时机制可快速响应多个串口或外设事件。例如,工业控制系统中需同时监控多个传感器数据,非阻塞模式能确保每个数据通道的及时处理,避免因
2025-08-10 12:57:04
987
原创 快速学会使用HAL库串口收发
串口(Serial Port)是一种用于串行通信的物理接口,通过单条数据线逐位传输数据。常见的串口标准包括RS-232、RS-422和RS-485,其中RS-232最为广泛使用。串口通信通常用于设备间的低速数据传输,如工业控制、嵌入式系统调试等。所以,学习和熟练掌握串口是非常重要的。串口通信通过发送端和接收端的协议实现数据同步。数据以二进制形式逐位传输,起始位和停止位标记数据包的开始和结束。波特率(Baud Rate)决定数据传输速度,常见值有9600、115200等。校验位(Parity Bit)用于简单
2025-08-09 16:50:31
1085
原创 玩转STM32成为LED点灯大师(STM32F103C8T6)
在我们重新生成工程时候:别忘记了重新勾选一下Reset and Run,不然每次下载需要手动复位才可以正常运行。
2025-07-12 13:57:05
949
原创 使用HAL库STM32轻松驱动超声波模块(内涵完整代码)
摘要:本文详细介绍了超声波测距模块的驱动原理与STM32实现方法。首先说明超声波工作原理:通过Trig引脚发送10us高电平触发信号后,Echo引脚会在收到回波时拉低电平。关键计算公式为"高电平时间*0.017=距离(cm)",对应定时器1us时钟周期配置(主频72MHz时分频71)。硬件接线包括5V供电、Trig触发引脚、Echo接收引脚和GND。软件实现分为三部分:1) GPIO输出10us以上方波驱动Trig;2) 配置TIM1输入捕获模式,分别设置上升沿/下降沿捕获通道;3) 通
2025-07-09 16:48:43
1428
原创 Arduino安装esp32失败怎么办?教你快速解决【0基础入门】
按上图步骤进行点击,进入packages后你会发现里面文件都是压缩包,如果里面不是压缩包说明你点错了!(注意是9个压缩文件都要放进去!再次打开arduino1.8.19,点击工具,找到开发板,点击开发板管理器,然后直接下载esp32 by Espressif Systems,然后下载成功后,打开arduino新版的也可以使用了。打开Arduino1.8.19,点击左上角文件按钮再点击首选项!,点击开发板,找到开发板管理器,点进去。与上图格式保持一直,注意换行!把全部文件从百度网盘下载!
2025-06-27 09:36:37
886
原创 郭天祥51单片机驱动步进电机【内含完整代码提供】
本文介绍了基于郭天祥51开发板控制三相步进电机的实现方法。系统采用LCD1602显示屏、红外遥控模块,通过Keil5开发环境编程。重点阐述了步进电机驱动原理,包括三相步进电机的接线方式(IN1-IN4对应4个IO口)和八拍驱动时序。给出了实现正反转的相序表代码(phaseCW和phaseCCW),以及通过StepperDrive函数将相序值转换为实际引脚电平的逻辑。最后提供了红外控制和矩阵按键控制的完整代码及Proteus仿真图下载链接。
2025-06-26 14:49:01
917
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅