登录社区云,与社区用户共同成长
邀请您加入社区
本项目基于STM32F103C8T6微控制器设计了一个双舵机控制系统。通过按键触发,两个SG90标准舵机依次执行0°→180°→0°往返动作,并在OLED屏实时显示累计次数。
位带操作(Bit-Banding)是Cortex-M3/M4/M7内核专属的硬件特性,全系搭载该内核的STM32单片机均支持,而Cortex-M0/M0+内核无此功能。
本文介绍了串口通信的局限性(仅支持一对一连接)和I2C总线的优势。I2C通过SCL时钟线和SDA数据线实现多设备连接,最多可支持100多个设备。文中详细解析了I2C的工作原理:采用开漏输出和上拉电阻实现逻辑线与功能,主机通过控制SCL产生时钟信号,通过交替写0/1在SDA线上发送数据;从机发送数据时,主机SDA置1,目标从机控制SDA线电平。相比串口,I2C具有连接设备多、布线简单的特点。
摘要:本文介绍了USART串口通信的引脚组成、工作模式及STM32配置方法。USART包含发送(Tx)、接收(Rx)、硬件流控(CTS/RTS)和同步时钟(CK)引脚,其中硬件流控可提升高速数据传输的稳定性。文章详细说明了全双工、半双工、同步模式和硬件流控的工作特点,并给出了STM32串口初始化的代码示例,包括GPIO配置、USART参数设置和数据收发流程。特别强调了接收引脚推荐使用上拉模式以避免
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量
完成 Linux 基础学习后,在磁盘挂载、移动存储读写实操中能明显发现 FAT32 与 NTFS 两种文件系统的适配差异:同一张 SD 卡,NTFS 格式需要额外驱动才能正常读写,FAT32 则可被系统直接识别。结合后续 STM32 嵌入式存储开发的学习规划,本文梳理两类文件系统底层原理、核心特性,结合 Linux 系统与单片机硬件两种使用场景做对比分析,记录实操过程中出现的故障与对应解决思路,为
【项目摘要】本项目基于STM32F103C8T6单片机设计了一款智能学习书桌系统,集成环境监测、坐姿矫正与远程控制功能。硬件包含温湿度传感器(DHT11)、光敏模块、超声波测距(HC-SR04)、人体红外感应(HC-SR501)、OLED屏幕及WiFi模块(ESP8266-01S)等,实现以下核心功能: 环境监测:实时采集温湿度、光照强度,超阈值时声光报警; 坐姿检测:超声波传感器监测坐姿异常并提
本项目基于STM32F103C8T6单片机设计了一套智能家居控制系统,通过多种传感器(DHT11温湿度、MQ系列气体、BMP280气压、光敏等)实时采集环境数据,并通过OLED屏幕显示。系统具备自动照明、烟雾/一氧化碳/空气质量超标报警功能,支持APP远程监控(通过ESP8266 WiFi模块)、阈值设置及设备控制(LED灯、步进电机模拟窗户开关)。硬件设计包含原理图、PCB图,软件采用模块化编程
本项目基于STM32F103C8T6单片机设计了一套智能环境监测系统,集成了温湿度传感器(DHT11)、烟雾传感器(MQ-2)、噪音传感器、OLED显示屏、蜂鸣器报警和WiFi模块(ESP8266-01S)。系统可实时监测环境参数,通过OLED显示温湿度、烟雾浓度和噪音值,支持阈值设置和声光报警功能,超标时触发蜂鸣器警示。同时通过WiFi连接手机APP实现远程监控和阈值调节,适用于农业大棚、室内环
本文基于江协科技的STM32教程,详细介绍了I2C通信协议及其在MPU6050传感器中的应用。主要内容包括:1) I2C协议概述与硬件电路设计,强调开漏输出模式与上拉电阻的必要性;2) I2C时序详解,包括起始/终止条件、字节收发和应答机制;3) MPU6050传感器的功能特点、寄存器配置及数据读取方法;4) 软件I2C和硬件I2C两种实现方式的对比,提供完整的STM32驱动代码。文章建议学习前具
本文档描述了一个基于STM32的RS485通信实现,主要包括以下内容: 硬件初始化配置 通过USART2实现RS485通信,配置GPIO引脚(PA2为TX,PA3为RX,PG3为方向控制) 设置串口参数:8位数据位、1位停止位、无校验位 启用接收中断并配置NVIC中断优先级 定时器功能 TIM2定时器配置为1ms中断,用于通信超时监控和LED指示灯控制 通信协议实现 支持Modbus RTU协议(
5.2工程代码生成设置、1选中间需要什么库文件自己选,编译比较快。8时钟配置选3PLL时钟锁向环,外部时钟8m,红色报错选2分频,选择css自动检查外部晶振有没有坏。9GPIO配置out,1默认高,推完输出,上垃,速度,低速,pwm用高速。1安装java安装cubemx,选择help,管理芯片包倒数2个,下载或者下左从本地安装,7.系统选择,第2 串口烧录,不需要系统唤醒,rtos系统用time1
该代码实现了基于STM32F4的OV5640摄像头模块驱动,支持RGB565和JPEG两种图像输出模式。主要功能包括:1) 通过DCMI接口和DMA传输采集图像数据;2) 提供对比度调节、自动对焦、图像特效(7种)和分辨率切换(12种尺寸)功能;3) RGB565模式可直接在LCD显示,JPEG模式可通过串口发送图像数据;4) 包含帧缓冲管理机制,使用双缓冲技术实现连续采集。系统通过按键控制模式切
/读取指定 GPIO 端口的某个特定引脚当前的输入电平(高或低),返回一个 uint8_t 类型的值。(1)先将SDA拉高,再将SCL拉高,为了应对特殊情况下的SCL初始位低电平,SDA初始为低电平,这时如果先拉高SCL,再拉高SDA,此时的时序逻辑为终止条件。会让本来是下一次的的开始变为终止,在指定地址读的时序中,出现错误。所以这里的只需将SDA置位0。
本文提出了一种基于STM32U3B5微控制器和LSTM-CNN混合模型的人体活动识别(HAR)系统实现方案。该系统采用边缘计算架构,通过并行双分支神经网络模型(CNN提取局部特征,LSTM建模时序依赖)实现高精度活动分类。硬件平台选用STM32U3B5芯片,利用其内置FMAC加速器和CORDIC协处理器优化神经网络推理,在超低功耗(<5mW)下完成实时活动识别。系统包含完整的实现链路:从IMU传感
做 STM32多任务项目时,最忌讳使用while(xxx)delay()这种阻塞式延时。一旦调用阻塞延时,整个系统会卡死,无法同时处理按键、串口、电机闭环、视觉数据等并行任务。本文基于整套代码分为Timer.h头文件 +Timer.c源文件,可直接复制使用,更换 TIM 定时器只需修改少量宏。配置 1ms 中断,每次中断全局自增Timer_cnt,作为系统唯一时间基准;每个延时任务分配独立句柄,第
本文分享了STM32H743双QSPI Flash下载算法的调试经验。项目采用W25Q256芯片存储TouchGFX图片资源,需确保Keil下载、验证和程序运行时读取数据一致。通过硬件排查发现一颗Flash芯片故障,更换后问题转为算法细节优化。关键调试方法是利用SRAM探针(0x2407F000)记录运行状态,精准定位问题在于写入与读取路径不一致。最终采用标准页编程和MemoryMapped验证策
本文介绍了如何在RT-Thread操作系统下使用APM32系列MCU的外设驱动。主要内容包括:1)使用ENV工具配置BSP工程开启板载外设(以SPI Flash为例);2)RT-Thread设备驱动框架的三层结构(I/O设备管理层、驱动框架层和驱动层);3)应用程序通过标准接口访问硬件的流程。文章强调官方已适配大部分外设驱动,开发者通常只需通过menuconfig配置即可使用,特殊情况下才需自行编
DHT11是一款低成本单总线数字温湿度传感器,采用3.3V/5V供电,通过单总线协议通信。其温度测量范围为0-50℃(±2℃精度),湿度范围20-90%RH(±5%精度),采样间隔需≥1秒。通信时序包括主机启动信号(18-30ms低电平)、传感器80μs应答、40bit数据传输(高电平时长区分0/1),数据包含湿度和温度的整数及校验值。使用时需外接4.7kΩ上拉电阻,STM32驱动代码需实现微秒级
本文介绍了基于STM32F103C8T6的电子密码锁系统设计方案。系统包含4×4矩阵键盘、OLED显示屏、EEPROM存储等模块,支持密码输入验证、修改密码、查看密码等功能。硬件连接部分详细说明了各外设与STM32的引脚对应关系,并提供了Keil编译和Proteus仿真的操作指南。系统使用24C02C EEPROM实现密码掉电保存,默认初始密码为111111,支持6位数字密码输入和3次错误锁定保护
【代码】nuttx实战项目:多路串口合并功能之十主app程序设计(copilot版本)
本文介绍了STM32串口通信的基础知识和实现方法。主要内容包括:1.串口通信基本概念,包括通信协议、硬件电路和时序参数;2.STM32的USART模块结构和工作原理;3.通过示例代码详细讲解了串口发送、接收以及HEX/文本数据包的收发实现。文章基于江协科技STM32教程编写,适合有一定单片机基础的读者学习,建议先掌握数字电路等基础知识。文中提供了完整的代码实现和硬件连接说明,可帮助读者快速掌握ST
【摘要】工程师在STM32与CK6159A语音芯片的串口通讯项目中遇到隐蔽故障:当STM32发送异常数据时,CK6159A会永久卡死。通过逐层排查发现,问题根源在于原SDK配置的接收缓冲区过大,异常数据持续写入导致指针越界,触发驱动逻辑漏洞。最终通过调整缓冲区大小为略大于协议单帧长度(如32字节),配合200ms接收超时机制,使异常数据在溢出前被自动清空,完美解决问题。文章还分享了串口通讯容错的四
很多初学者会疑惑:明明我只是想让一个按键触发中断,为什么既要配置 EXTI,又要配置 NVIC?其实,EXTI和NVIC都和中断有关,但它们负责的层次不同。EXTI:负责检测外部中断事件NVIC:负责管理 CPU 是否响应这个中断EXTI 负责“中断从哪里来”NVIC 负责“CPU 要不要处理它”EXTI:负责检测外部中断触发条件NVIC:负责管理 CPU 是否响应中断EXTI 不配置:没有中断请
摘要: 本文基于STM32的DMA(直接存储器存取)技术,详细介绍了其工作原理、存储分布及实际应用。DMA可在不占用CPU资源的情况下,实现外设与存储器或存储器之间的高速数据传输。文章首先阐述了STM32F103C8T6的存储器映像及DMA框图,包括总线矩阵、通道优先级和触发方式(软件/硬件)。随后通过两个实例演示DMA的应用: 存储器到存储器的数据转运:配置DMA通道实现数组间的快速拷贝,通过软
TinyML的定义与应用场景(边缘AI、低功耗设备)。STM32系列微控制器的特点(性能、功耗、生态支持)。为什么选择STM32运行TinyML(硬件加速、库支持、成本优势)。
本文介绍了芯片间串口数据通信的基本原理和实现方式。串口通信需要双方遵循相同的数据格式协议,采用二进制传输。数据帧由起始位(低电平)、数据位(低位先行)、校验位(可选)和停止位(高电平)组成。文章详细解释了8位/9位带/不带校验的数据帧格式,以及奇偶校验的工作原理(通过校验位使1的个数为奇数或偶数)。最后通过图示展示了从空闲状态到数据传输完成的全过程。
所以采用下面的跳线,把BOOT0与VDD连在一起,将Mode 改为HotPlug。
摘要:本文介绍了STM32 GPIO的8种工作模式,重点讲解了输出和输入部分的应用。在输出部分,通过LED闪灯实验演示了如何配置GPIO为开漏输出模式控制LED亮灭;在输入部分,详细分析了保护二极管、上拉/下拉电阻的作用原理,并以按钮实验为例展示了输入上拉模式的应用。文章提供了完整的代码实现,包括GPIO初始化、时钟配置和输入输出控制,并解释了施密特触发器在抗干扰中的作用。通过这两个实验,帮助读者
关于log_node节点的代码,因为一些原因变的很简单了我们先说一下当前的代码,等之后在扩展一下,最开始想要实现的效果。
本文完成了 STM32 HAL USB HID 键盘的基本实现流程:CubeMX 开启 USB Device FS开启 USB_DEVICE HID 中间件修改 HID Report Descriptor 为键盘描述符修改 HID 接口协议为 Keyboard修改 USB 设备名称在 main.c 中扫描按键并发送键盘 Report完成后,STM32 插入电脑后会被识别为 USB HID 键盘。按
上一节我们完成了PCB设计、DRC检测和Gerber生产文件导出,完成了电路板的软件设计全流程。本节进入硬件实操阶段,带大家完成PCB成品开箱、焊接工具准备、分模块分步焊接、逐级通电测试,彻底规避新手焊接短路、烧板、供电异常等问题。针对入门小白,本文采用先电源、后主控、最后外设的标准安全焊接流程,每焊完一个模块就测试一次,最大程度降低硬件损坏风险,非常适合零基础硬件学习者参考。严禁全板一次性焊接:
【代码】【嵌入式】stm32h743, DWT延时函数,us级。
这里的功能不固定,我也是随用随加的。因为我的项目比较简单,帧的类型不多,我就在我所有的节点实现的代码中的这部分初始化了四种帧格式,这样就发送起来简单,另外就是不需要来回的看和翻找确认了,尽管这对于程序来讲是一个无意义且浪费资源的行为,但是可以极大的便利我们,当然注释放在这里一样可以提醒,但是这样还有另外一个好处就是,我们做环回测试的时候,可以更方便的在一个MCU配置过滤器。其实和USART的思路大
该项目主要是博主用来练习CAN总线和低功耗设计的一个项目,如果是刚刚学习完基础外设的同学是不合适这个项目的,因为这里用CAN总线实现分布式多机通信,需要多个MCU。业务场景是智慧大棚,主要实现大棚的通风系统,通过来舵机模拟开关。host_node 主机节点作为中控系统,与用户进行数据交互,同时传达用户指令到各个节点log_node 日志节点进行日志记录,并且负责整个系统的时间同步工作。但是由于种种
STM32CUBUMX配置RS485 modbus STM32(从机)亲测可用_stm32h7 cubemx freemodbus-CSDN博客STM32CUBUMX配置RS485(中断接收)--保姆级教程_stm32cubemx rs485-CSDN博客
摘要:本文介绍了ST蓝牙方案采用的Sequencer技术,这是一种替代RTOS的轻量级任务调度方案。Sequencer通过任务注册、启用、暂停/恢复等机制管理执行流程,最多支持32个任务,具有优先级设置和空闲任务管理功能。文章以NUCLEO-WBA65RI开发板为例,详细演示了Sequencer的配置流程:初始化序列器、注册任务、设置任务触发条件(示例中使用SysTick中断每400ms触发LED
本文介绍了基于STM32WBA开发板的BLE对等互连(P2P)通信实现。通过BLEp2p_Server和BLEp2p_Client两个DEMO程序,展示了NUCLEO-WBA55CG和NUCLEO-WBA65RI开发板之间的BLE通信,包括LED控制和按键状态通知功能。文章详细说明了P2P配置文件的服务特征定义、开发环境搭建、功能测试过程以及关键代码分析,重点解析了LED特征值写入处理和SWITC
此综合小项目实现一个小demo,用到了单片机中的核心外设,MPU,FSMC,DMA,ADC,DAC,串口,TIM。我为了偷懒,也为了调试舒畅,还是用正点原子的H7开发板的rtthread原始工程,做例子。:通过GPIO、PWM、DAC等输出数字/模拟信号,直接控制LED、电机、继电器、开关电源等执行部件。:通过UART、I2C、SPI、CAN、USB、以太网及各类无线模块,实现设备间或与上位机的数
针对传统企业考勤方式存在效率低、易代签、管理不便等问题,本文设计一款以STM32F103C8T6单片机为核心控制器的低成本的人脸考勤机。系统采用模块化设计,主要由人脸识别模块、按键控制模块与OLED显示模块等三个模块实现,实现人脸注册、人脸识别签到、人脸数据清除三大核心功能。考勤机通过按键触发不同工作模式,短按按键则启动人脸识别功能,设备进入识别待机状态,完成人脸匹配后自动判定签到成功。长按按键则
HAL 源码不是不能看。DMA 模式对不对?数据位置对不对?Size 是否符合预期?回调是否真的反复进入?main 循环是否也在发送?串扰是否存在?这样看源码才有方向。这次 Bug 表面看是串口疯狂回显。中间看起来像串扰、IDLE 中断、DMA Pause/Resume、HAL 状态机的问题。代码假设:新数据在 rx_buffer [ 0 ] DMA Circular:新数据可能在任意位置两边一错
问题总结单片机串口无法接收数据的主要原因有两个:结构体定义问题:USART_Private仅前向声明导致成员访问错误关键根因:自建UART句柄与HAL库中断处理的句柄地址不匹配解决方案:将USART_Private完整定义移到头文件直接使用CubeMX生成的全局huart3变量,确保中断处理与接收启动使用同一地址验证结果:修复后串口能正确接收十六进制帧数据,状态机解析正常,回调函数触发成功。关键调
本文目标:从零完成 MPU6050/ICM20608 六轴原始加速度、陀螺仪数据读取;开发环境:STM32CubeMX、Keil MDK5、HAL 库、I2C 通信;阅读说明:正文只贴核心功能代码,CubeMX 自动生成的底层初始化代码省略,完整工程仓库链接放文末。#define ICM20608_ADDR 0x68 // ICM20608 7位I2C地址#define ICM20608_PWR_
(由库预先定义好的“模板”)。它包含了配置定时器输入捕获通道所需的所有参数,比如捕获极性、触发信号选择、滤波器和分频系数等。(你可以随意起名,但通常按库例程命名为这个)。它是上面那个模板的“实体”。:标准库中用于初始化外设结构体的通用命名约定。
摘要:STM32中的ADC规则组与注入组是两种核心工作模式,规则组用于常规周期性任务(如温度监测),而注入组支持高优先级插队任务(如突发信号捕获)。关键区别在于:注入组可中断规则组转换,拥有独立数据寄存器(避免覆盖),适合紧急事件响应;规则组需配合DMA实现多通道连续采样。实际应用中二者可协同工作,规则组持续采集基础数据,注入组处理紧急中断,形成高效的数据采集系统。模式选择取决于应用场景对实时性和
基于韦东山 STM32+C 语言实战课,整理嵌入式开发核心:volatile、字节序等基础,指针操作寄存器,数组 / 结构体封装硬件,函数指针与工程化编程,聚焦 C 语言底层在 STM32 的实操应用。
6P排针引出,包含完整通信引脚:CS片选、CLK时钟、MISO、MOSI,同时引出5V电源和数字地,可直接给外接模块供电,排针外壳接地增强抗干扰。采用2.54mm排针接口,引出5V供电、数字地、SWDIO、SWDCLK,兼容所有STM32下载器,供电可选5V/3.3V,通用性极强。,均匀分布在板子四周,所有螺丝孔统一接地,既实现电路板固定,又兼顾屏蔽抗干扰效果。,方便外接模拟信号、调试传感器,共放
本文整理 STM32 SPI 协议基础与 HAL 库使用,涵盖 SPI Flash 硬件连接、MOSI/MISO/SCK/CS 引脚作用、CS片选、1字节传输、四种工作模式、CubeMX 配置,以及查询、中断、DMA 函数和 W25Q64 基本操作,便于后续项目快速查阅。
stm32
——stm32
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net