自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 瑞萨电子RA4M2_100PIN开发板GPIO点灯

第一课,点灯

2024-04-15 22:04:48 386 1

原创 基于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主机的读写

LIN的主机

2024-02-21 18:56:30 987 1

原创 基于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

stm32-lin总线-主机驱动

stm32-lin总线-主机驱动

2024-11-04

单片机-信号优先级处理-状态机驱动

在嵌入式系统中,设备控制的灵活性和响应速度至关重要。本文将介绍一种基于优先级的信号状态机设计,适用于灯光控制等场景。通过优先级调度,我们可以确保高优先级的信号在多个信号同时激活时优先控制设备状态。

2024-10-22

单片机-按键管理-单击-双击-长按-驱动

在嵌入式系统中,按键输入是最常见的用户交互方式之一。为了准确地处理按键输入,我们需要考虑按键的状态变化、消抖处理以及各种按键操作(如单击、双击、长按)的检测与响应。

2024-09-29

ESP8266-OLED-DHT11-温湿度检测

在这个项目中,我们将使用ESP8266微控制器,通过DHT11传感器获取温度和湿度数据,并将这些信息以及当前时间在SSD1315 OLED显示屏上实时显示

2024-09-27

Arduino-ESP8266-I2C

使用ESP8266开发板扫描I2C设备。I2C是一种广泛使用的串行通信协议,适用于与多个设备进行通信。通过这段代码,你可以轻松识别连接到I2C总线的设备。

2024-09-27

STM32-HR4988-步进电机驱动

本代码示例展示了如何通过STM32微控制器驱动步进电机。代码包括一个结构体 Motor,它包含了控制步进电机所需的状态、速度、步数以及函数指针来启用、禁用电机,设置电机方向以及控制电机移动。

2024-09-13

单片机-stm32-环形队列-任务调度

在嵌入式系统中,高效的消息传递和任务调度至关重要。本文将介绍如何通过**环形队列(Circular Queue)**实现消息传递,并根据接收到的消息类型进行任务处理。环形队列是一种**先进先出(FIFO)**的数据结构,它的读写指针会在队列末尾环绕返回到队列的起始位置,确保有效利用存储空间。环形队列的主要优势在于可以连续存储和处理消息,而不会因为队列末尾的空闲空间而浪费资源。

2024-09-05

LED通用驱动-ws2812-sk6812

通用于各种32位单片机,是一个用于控制WS2812和SK6812 LED灯带的驱动程序。它提供了初始化GPIO、发送数据到LED灯带、设置LED亮度和初始化LED状态的功能。这个文件通过精确控制GPIO引脚的时序,来实现对LED灯带的控制。

2024-08-24

汽车电子-LIN总线-LIN从机-AT32

LIN(Local Interconnect Network)从机是连接在LIN网络中的设备,负责响应LIN主机的指令并执行相应的操作。以下是LIN从机的一些基本介绍: 定义与功能:LIN从机是网络中的从节点,主要任务是接收来自LIN主机的命令,并根据指令进行数据处理或状态反馈。 网络结构:LIN网络由一个主节点(主机)和多个从节点(从机)组成。主机负责控制通信时序和数据传输,而从机则在主机发起通信后进行响应。 通信方式:从机只能在主机发送帧头时进行通信,主机定义了从机的发送时机。通信采用单线传输方式,数据传输速率通常为20 Kbps。 数据传输:从机通常包含一个接收器和一个发送器,用于接收主机的命令和发送状态信息。它们通过LIN帧进行数据传输,包括数据标识符和数据字段。 成本与设计:LIN从机设计相对简单,所需的硬件成本较低,使其适合于大规模部署在车辆中。 应用领域:LIN从机广泛应用于汽车电子系统,如车窗控制、座椅调节、灯光控制等,也可以用于其他低速、低成本的嵌入式系统。 LIN从机在LIN网络中起到重要的作用,通过与主机的协同工作,实现了各种设备的高效管理与控制。

2024-08-12

汽车电子-LIN总线-LIN主机-AT32

LIN(Local Interconnect Network)是一种低速、低成本的串行通信协议,广泛应用于汽车电子系统中,主要用于在车辆内部的各种设备之间进行通信。以下是LIN主机的一些基本介绍: 定义与功能:LIN主机是一种控制节点,负责管理LIN网络中的通信。它可以发送和接收信息,协调从节点的活动。 网络结构:LIN网络通常由一个主节点(LIN主机)和多个从节点组成。主节点负责发起通信,而从节点则响应主节点的请求。 通信方式:LIN使用单线通信,通常在一个主节点和多个从节点之间建立。主节点定期发送帧头,确定从节点的发送时机。 数据传输:LIN协议支持点对点的数据传输,传输速率通常为20 Kbps,适合于低带宽需求的应用,如车窗控制、座椅调节等。 成本与复杂性:由于LIN协议的实现较为简单,所需硬件成本较低,适合于大规模应用。 应用领域:除了汽车领域,LIN也可用于其他需要低速通信的嵌入式系统,如工业控制和家庭自动化。 LIN主机在汽车电子系统中的重要性不可小觑,帮助实现了多种设备的高效通信和控制。

2024-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除