- 博客(22)
- 收藏
- 关注
原创 基于单片机优先级的信号状态机设计
在嵌入式系统中,设备控制的灵活性和响应速度至关重要。本文将介绍一种基于优先级的信号状态机设计,适用于灯光控制等场景。通过优先级调度,我们可以确保高优先级的信号在多个信号同时激活时优先控制设备状态。提示:以下是本篇文章正文内容,下面案例可供参考/*** @author 阿源吖* @brief 信号列表优先级调度*/// 初始化信号数组{3, 0}, // 信号1:优先级3,初始状态为未激活{2, 0}, // 信号2:优先级2,初始状态为未激活。
2024-10-22 11:11:31
555
原创 基于ESP8266使用OLED显示温湿度和时间
在这个项目中,我们将使用ESP8266微控制器,通过DHT11传感器获取温度和湿度数据,并将这些信息以及当前时间在SSD1315 OLED显示屏上实时显示。以下是详细的实现步骤。提示:以下是本篇文章正文内容,下面案例可供参考通过这个项目,我们实现了使用ESP8266和相关组件显示温湿度和当前时间的功能。该系统不仅简单易用,还具备实时更新的能力。未来,可以考虑增加更多传感器或者联网功能,以提升项目的功能性和实用性。ESP8266-OLED-DHT11-温湿度检测。
2024-09-27 10:43:18
1460
原创 使用Arduino开发环境基于ESP8266的I2C设备扫描器
在这篇博客中,我们将展示如何使用ESP8266开发板扫描I2C设备。I2C是一种广泛使用的串行通信协议,适用于与多个设备进行通信。通过这段代码,你可以轻松识别连接到I2C总线的设备。
2024-09-27 09:44:22
685
原创 使用STM32使用HR4988驱动步进电机
在这篇博客中,我们将详细探讨如何使用STM32微控制器实现步进电机的驱动控制。我们将逐步解析代码,了解各个函数的作用以及如何结合使用它们来控制步进电机提示:以下是本篇文章正文内容,下面案例可供参考本代码示例展示了如何通过STM32微控制器驱动步进电机。
2024-09-13 16:14:37
781
原创 基于STM32裸机开发的环形队列
在嵌入式系统中,高效的消息传递和任务调度至关重要。本文将介绍如何通过**环形队列(Circular Queue)**实现消息传递,并根据接收到的消息类型进行任务处理。本文以STM32为例,展示环形队列的基本实现以及如何处理不同的任务请求。提示:以下是本篇文章正文内容,下面案例可供参考环形队列是一种**先进先出(FIFO)**的数据结构,它的读写指针会在队列末尾环绕返回到队列的起始位置,确保有效利用存储空间。环形队列的主要优势在于可以连续存储和处理消息,而不会因为队列末尾的空闲空间而浪费资源。
2024-09-07 15:28:45
1369
原创 基于单片机的WS2812和SK6812通用驱动程序
在现代的照明系统中,WS2812和SK6812 LED灯带因其丰富的色彩和灵活的控制而广泛应用。本文将介绍如何使用STM32微控制器来控制这些LED灯带, 我们将使用STM32微控制器的GPIO引脚来控制WS2812或SK6812 LED灯带,通过精确的时序控制来设置每个LED的颜色和亮度。
2024-08-24 14:31:18
835
原创 AT32 DMA实现LIN协议从机读写
本地互连网络(LIN)是一种低成本的单线通信协议,广泛用于汽车应用中连接传感器和执行器。本文将探讨如何使用STM32微控制器实现LIN从设备,重点介绍如何通过DMA(直接内存访问)高效地传输和接收LIN帧。LIN从设备的实现涉及配置GPIO引脚、USART和DMA通道,以便于通信。该从设备根据特定的标识符(PID)进行响应,并进行校验和验证以确保数据完整性。我们将涵盖代码的关键组件,并解释它们的功能和配置。
2024-08-12 22:28:00
666
原创 使用 AT32 DMA实现 LIN 主机读写
主机与从机:LIN 网络中有一个主机和多个从机。主机负责控制通信,调度从机的工作。数据帧:数据通过 LIN 帧进行传输,每个帧包含标识符、数据和校验位波特率:LIN 通常使用 20 Kbps 的波特率,适合短距离通信。
2024-08-12 22:06:33
592
原创 基于STM32的ST7789屏幕驱动
在这篇文章中,我们将示范如何使用 STM32 微控制器驱动ST7789 显示器。我们会逐步介绍如何初始化 GPIO 和 SPI 接口,发送命令和数据,并完成显示器的基本操作,如清屏和窗口设置。提示:以下是本篇文章正文内容,下面案例可供参考通过上述步骤,我们实现了 STM32 对 ST7789 显示屏的初始化与基本控制。掌握这些基本操作后,可以进一步实现更复杂的图形显示功能,如绘制图像、文字显示等。在实际开发中,还需要根据具体应用调整显示参数和优化代码性能。
2024-07-14 16:57:43
3965
原创 基于STM32的DHT11温湿度传感器驱动
在嵌入式开发中,温湿度传感器是非常常见的设备。DHT11是一款廉价、易用的温湿度传感器,广泛应用于各类环境监测项目中。本文将详细介绍如何在STM32微控制器上实现DHT11传感器的数据读取。提示:以下是本篇文章正文内容,下面案例可供参考本文详细介绍了如何在STM32微控制器上实现DHT11温湿度传感器的驱动程序。通过配置GPIO引脚、实现精确的延时函数、读取数据及校验数据,我们能够准确获取DHT11传感器的温湿度数据。此方法可以应用于需要温湿度检测的嵌入式项目中,为系统提供环境参数的实时监测。
2024-07-03 21:32:59
567
原创 基于STM32的按键处理系统
在嵌入式系统中,按键输入是最常见的用户交互方式之一。为了准确地处理按键输入,我们需要考虑按键的状态变化、消抖处理以及各种按键操作(如单击、双击、长按)的检测与响应。本文介绍了一个基于STM32微控制器的按键处理系统,包括按键状态检测、回调函数机制以及按键处理逻辑的实现。
2024-07-01 10:54:14
499
原创 基于STM32微控制器的CAN总线消息发送调度系统
CAN(Controller Area Network)总线是一种用于车辆内部通信的强大协议,适用于实时应用。在汽车电子系统中,消息的及时发送和调度至关重要。本文介绍了一种基于STM32微控制器的CAN总线消息发送调度系统,通过消息池和定时发送机制,确保CAN消息按时且有序地发送。
2024-06-28 16:17:59
712
1
原创 基于STM32微控制器的输入引脚消抖与回调函数实现
在嵌入式系统中,输入引脚的稳定性与可靠性是确保系统正常运行的关键因素之一。特别是在涉及物理按键或开关等机械触发器件时,由于其物理特性,常常会出现抖动现象。为了应对这一问题,我们需要进行输入引脚的消抖处理,并在检测到有效输入时执行相应的回调函数。本文将介绍如何基于STM32微控制器实现输入引脚的消抖处理与回调函数机制。
2024-06-28 15:56:34
456
原创 基于AT32421系列单片机的IWDG模块初始化与喂狗函数实现
AT32421系列单片机是一款常用的嵌入式系统微控制器,具有强大的性能和丰富的外设功能。本文将介绍如何在AT32421系列单片机上使用IWDG模块(Independent Watchdog,独立看门狗)进行看门狗定时器的初始化和喂狗操作,以保证系统的稳定运行。通过本文介绍的代码示例,我们了解了如何在AT32421系列单片机上使用IWDG模块进行看门狗定时器的初始化和喂狗操作。
2024-04-02 17:23:52
318
1
原创 STM32串口自定义协议设计与实现
在嵌入式系统开发中,串口通信是一种常见的数据传输方式。为了保证数据的可靠传输,有时需要设计一种自定义的串口协议。本文将介绍如何利用ST32微控制器实现串口自定义协议,以确保数据的完整性和可靠性。自定义串口协议通常由起始字节、数据内容、校验和和结束字节组成。起始字节用于标识数据包的开始,结束字节表示数据包的结束。校验和用于验证数据的完整性,可以通过累加数据内容得到,接收端根据校验和检测数据是否损坏。
2024-04-02 17:03:42
1441
1
原创 使用STM32实现CAN2消息管理与发送及基础CAN电路设计
在许多嵌入式系统中,CAN(Controller Area Network)总线是一种常用的通信协议,用于连接各种控制器和传感器,以实现实时数据交换。在STM32微控制器上,利用HAL库和STM32CubeMX工具可以方便地实现CAN通信功能。本文将介绍如何使用STM32实现CAN2消息管理与发送的方法,并提供基础的CAN电路设计,以便读者全面了解CAN通信的实现与应用。通过这两个函数,我们可以在STM32上实现CAN2消息的管理和发送。
2024-04-02 16:35:10
700
1
原创 AT32F421使用CAN的物理链路进行自定义协议的串口通信
由于考虑成本问题,使用AT32F421C8T7芯片,由芯片手册可知不含CAN的芯片资源,又考虑到LIN总线的通信速率不够快,想到了使用CAN的物理链路,串口通信,同样可以实现500K提示:以下是本篇文章正文内容,下面案例可供参考使用自定义协议,借助CAN的物理链路,传输速率提高了,虽然没有仲裁机制,但能满足传输需求,一发一收的形式。
2024-02-27 17:19:02
623
原创 基于AT32F413CBT7芯片,实现LIN2.0从机的读写
在LIN2.0协议中,用于执行主机的指令,并反馈给主机相应状态,分别接收主机写,和主机读的指令。
2024-02-21 14:49:03
819
4
原创 基于STM32的LIN总线的实现
你好!这是使用STM32F105RBT6单片机实现的LIN总线。ST其它型号也可,仔细阅读这篇文章,了解一下LIN总线的实现过程。
2022-12-20 15:37:48
7806
58
原创 STM32C6T6,SPI+DMA驱动WSP2812B炫彩灯带
STM32C6T6,SPI+DMA驱动WSP2812B炫彩灯带目录硬件选型驱动方式GPIO初始化SPI初始化DMA初始化将颜色转换为0码和1码,储存到闪存中启动传输关灯操作按数量和颜色点灯函数主函数目录硬件选型芯片类型:STM32C6T6开发板、WS2812B类型灯带、5V电源驱动方式SPI+DMA传输GPIO初始化这里使用SPI1的单工通信,MOSI引脚为GPIOA_7void ws2812_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStr
2022-05-17 16:08:06
1131
单片机-信号优先级处理-状态机驱动
2024-10-22
单片机-按键管理-单击-双击-长按-驱动
2024-09-29
ESP8266-OLED-DHT11-温湿度检测
2024-09-27
Arduino-ESP8266-I2C
2024-09-27
STM32-HR4988-步进电机驱动
2024-09-13
单片机-stm32-环形队列-任务调度
2024-09-05
LED通用驱动-ws2812-sk6812
2024-08-24
汽车电子-LIN总线-LIN从机-AT32
2024-08-12
汽车电子-LIN总线-LIN主机-AT32
2024-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人