登录社区云,与社区用户共同成长
邀请您加入社区
本文为芯片手册阅读指南,针对不同需求提供实用建议:1)选型阶段重点查看概述、特性、外设资源等核心参数;2)开发配置时需关注引脚定义、典型电路、寄存器描述;3)硬件设计需严格遵循电气特性和封装尺寸。推荐使用"半导小芯"查询工具和"沉浸式翻译"插件辅助阅读。文章通过STM32等实例,详细说明如何提取关键信息,包括引脚复用、电源设计、时序约束等实用技巧,帮助开发者高效利用手册解决选型、编程和调试问题。
单片机:STM32F407。开发板:DMF407电机开发板。平台:keilV5.31。二、任务内嵌消息队列实验。一、任务内嵌信号量实验。
五、互斥信号量优化优先级翻转实验。单片机:STM32F407。开发板:DMF407电机开发板。平台:keilV5.31。
本文介绍了I2C通信的基本流程和数据帧格式。I2C通信由主机发起,通过起始位开始通信,随后发送7位从机地址和1位读写标志进行寻址。数据传输阶段以字节为单位,每传输一个字节后接收方需应答ACK信号。文章详细说明了起始位、停止位的产生方式(SCL高电平时SDA的边沿变化)以及寻址和数据传输的具体时序。最后通过两个具体示例(写操作0x5a和0x33、读操作0x64)展示了完整的通信波形,包括地址发送、数
先看flash的连接方式:从这张图可以看出,DMA1/2是可以通过AHB总线访问flash中的数据。,而Flash存储器。当DMA通过32-bit AHB总线读取Flash时,Flash控制器需要将内部128-bit的读取结果进行数据裁剪。同时这张图也可以看出来,
底层核心:两套完全隔离的 USB 通信协议ST‑Link:ST 私有封闭协议(仿ST-Link也可以被cubeProgramer识别)CubeProgrammer 软件底层只写了ST-Link 私有指令解析引擎STMicroelectronicsDAP-Link 识别ST-Link v2cubeProgram例子。
RC振荡器是 纯硬件自激振荡系统,,,内部必须使用施密特触发器,,因为电容电压接近阈值的时候,上下抖动,,输出会疯狂翻转,,,依赖电阻电容充放电,温度一边,频率就漂,,电压变化也会影响。放大器:amplifier : 让信号放大的电路,,,,晶振HSE,PLL内部,ADC前端,,都用到了放大器。,,中间区域保持原状态,,只有比较超过阈值,,电平才会变化,,,用来过滤抖动,,但是有。,,,通过利用电
内容主要是根据B站江科大的STM32 视频,整理的一份笔记GPIO是通用的输入输出端口,是可编程控制的通用引脚,可通过软件配置为输入/输出引脚1.GPIO_Mode_AIN 是模拟输入。2. GPIO_Mode_IN_FLOATING 是浮空输入。3. GPIO_Mode_IPD 是下拉输入。4. GPIO_Mode_IPU 是上拉输入。5.GPIO_Mode_Out_OD 是开漏输出。6. GP
行空板K10是一款专为物联网与人工智能学习设计的国产开发板,集成2.8寸彩屏、摄像头、麦克风、传感器等丰富资源,支持离线AI视觉处理。其内置的猫狗脸检测功能基于ESP32-S3芯片的NPU加速,可实时识别宠物面部并获取坐标数据,通过屏幕标注、灯光交互等方式实现趣味应用。实验通过开源代码演示了如何调用AI模型,在屏幕上动态显示检测到的狗脸尺寸与中心坐标,展现了该开发板在教育场景中即插即用、开箱即学的
2. **地址空间统一编址**:STM32采用**统一编址**,外设寄存器和RAM共享同一个地址空间,CPU访问内存和外设使用相同的指令(`LDR`/`STR`)。4. **数据锁存**:被激活的外设内部,子译码器根据地址低几位确定目标寄存器(如ODR偏移12),D触发器在写信号边沿**锁存**数据总线上的值。1. **寄存器是物理存储单元**:外设寄存器由**D触发器阵列**构成,每个寄存器对应
目标读者: 嵌入式开发工程师、IoT硬件开发者、单片机爱好者、电子工程师核心问题: 单片机IO口资源有限,在驱动继电器、步进电机、电磁铁等多路负载时面临IO不足的困境解决方案: 利用ULN2003A达林顿阵列芯片,实现7路大电流驱动输出,仅需7个IO口即可控制多路负载,配合矩阵扫描等技术可进一步扩展控制路数适用场景:技术优势:ULN2003A芯片概述达林顿阵列技术原理ULN2003A与其他驱动方案
bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。
【摘要】STM32的GPIO输出速度选择需权衡利弊:50MHz模式虽快但易引发振铃和EMI,2MHz模式省电但可能导致高频信号畸变。关键要根据实际需求选择——信号频率高(如4MHz)需高速模式避免波形失真,低频信号(如LED控制)用低速模式更节能安全。建议从10MHz起步测试,用示波器观察波形,通过调整速度档位或串联阻尼电阻优化性能。记住:GPIO速度本质是控制边沿斜率,盲目追求高速可能适得其反。
先看这张图这是一个总线矩阵,它的功能是实现并发访问和操作。意思就是DMA1可以通过DMA_MEM1访问SRAM1,同时DMA2也可以通过DMA_MEM2访问SRAM1。矩阵上的小圆点,表示可以访问,DMA1不同通过DMA_MEM1访问AHB1总线。注意,CCM data RAM是挂载在ARM Cortex-M4,只能通过CPU进行访问。
摘要: 本文设计了一种基于STM32F103C8T6的智能交通灯控制系统,采用Keil+Proteus纯软件仿真实现。系统通过有限状态机管理红绿灯状态切换,利用定时器中断实现精准计时,并集成按键强制切换、光敏夜间黄闪、红外车流检测动态调时等功能。硬件电路包含LED驱动、数码管显示及传感器模块,软件采用模块化设计,支持多任务并发处理。仿真测试验证了系统稳定性与功能完备性,为智慧交通教学与原型开发提供
本文摘要:文章详细区分了电机控制中两类PLL(锁相环)的差异:硬件PLL负责单片机时钟倍频(如STM32的RCC-PLL),通过晶振倍频提供稳定系统时钟;软件PI-PLL则是无感FOC算法的核心,通过磁链观测器估算转子角度,经PI调节实现角度闭环跟踪。重点剖析了软件PI-PLL的鉴相器、环路滤波器和数字VCO结构,并给出三种观测锁相效果的方法(串口监测、示波器DA输出、电流波形分析)。同时澄清了P
摘要: CORDIC(坐标旋转数字计算机)是一种高效算法,通过加减和移位运算实现三角函数、开方等计算,适用于嵌入式系统(如电机控制)。其核心原理是将目标角度分解为固定小角度(如±arctan(1/2ⁿ))迭代旋转,逐步逼近结果。 应用场景: FOC电机控制:用于Park变换、逆Park变换、角度观测(atan2)、SVPWM调制等,满足高频电流环实时性需求。 硬件优势:STM32G4/H7内置硬件
本项目基于STM32F103C8T6单片机开发智能家庭鱼缸控制系统,通过多种传感器(温度、水位、电导率、光照)实时监测鱼缸环境参数,并实现自动控制与远程监控功能。系统包含OLED显示、手动/自动模式切换、阈值设置、蜂鸣器报警及继电器控制等功能模块。当环境参数异常时,系统可自动调节加热、风扇、水泵等设备,同时支持通过WiFi模块(ESP8266-01S)连接手机APP进行远程监控和参数调整。项目提供
本项目基于STM32F103C8T6单片机设计了一款智能饮水机水质检测系统,通过多种传感器(温度、TDS电导率、浊度、PH值、水位)实时监测水质参数,并具备阈值报警功能。系统包含OLED显示模块、WiFi通信模块(ESP8266)和手机APP远程监控功能,可实时显示水质数据、设置报警阈值,并在参数异常时触发声光报警。硬件设计包括原理图和PCB图,软件采用模块化编程实现数据采集、处理与远程通信。项目
1、SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线,共四根通信线,分别为SCK(Serial Clock,提供时钟信号)、MOSI(Master Output Slave Input,主机向从机发送数据的线路)、MISO(Master Input Slave Output,主机接收从机数据的线路)、SS(Slave Select,从机
本系统以STM32F103C8T6单片机为主控核心,搭建智能粮仓监测控制系统。系统可实时采集粮仓温湿度环境数据,支持粮仓灯光、电机设备的控制功能;依托ESP01SWiFi模块将环境数据上传至物联网云平台与APP,实现设备的云端与移动端双端远程控制。同时搭载ESP32-CAM模块完成粮仓现场虫害识别,并配套设计虫害诱捕结构,可实现储粮害虫的诱捕治理。
1和2两部分加起来是输入捕获的电路,2和3两部分加起来是输出比较的电路。由图中可以看出有4个输入捕获和输出比较通道,输入捕获和输出比较共用4个CCR寄存器,4个通道的引脚(CH1、CH2、CH3、CH4)输入捕获和输出比较也是共用的,输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。每个高级定时器和
STM32 CubeMX 代码编写规范摘要
工业以太网与现场总线技术的融合与发展 本文系统分析了工业以太网与现场总线技术在智能制造中的协同发展。工业以太网凭借高带宽、全IP化特性成为智能工厂的中枢神经,支持EtherCAT、PROFINET等多种协议;而传统现场总线仍在大规模存量系统中稳定运行。文章重点探讨了能源化工等行业对冗余总线设计的严格要求,对比了环网、并行等冗余拓扑结构的性能特点。特别介绍了创新性的CANWeb技术,该技术融合CAN
单片机:STM32F407。开发板:DMF407电机开发板。平台:keilV5.31。六、ucos3统计功能实验。五、空闲任务钩子函数实验。七、共享资源冲突访问实验。一、任务创建与删除实验。二、任务挂起与恢复实验。三、任务优先级修改实验。
单片机:STM32F407。开发板:DMF407电机开发板。平台:keilV5.31。
本项目基于STM32F103C8T6微控制器设计了一个双舵机控制系统。通过按键触发,两个SG90标准舵机依次执行0°→180°→0°往返动作,并在OLED屏实时显示累计次数。
默认捆绑RXNE(Receive buffer not empty)和TXE(Transmit buffer empty)中断,如果不是读数据的时候打开,其它时候关闭,就会导致不停触发TXE中断,进不去中断处理函数的第四个if,或程序乱飞。),这样就能实现FreeRTOS二值信号量 + 硬件I2C中断读取MPU6050。整个代码框架是AI生成的,找了三天bug,真的要吐了,最后发现。使能(中断处理
位带操作(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,进行大量
嘉立创EDA是一款专为中国开发者设计的电路板开发工具,提供专业版和标准版,支持Windows、Linux和Mac系统。安装时建议避开C盘,操作界面友好。原理图绘制支持基础库和扩展库元件选择,基础库元件贴片成本更低。常用快捷键如复制、粘贴、旋转等可提升效率。网络标签、短接标识等功能便于电路连接标注。完成原理图后需进行DRC检查再导入PCB设计,布线时建议先规划100mm×100mm的免费打板尺寸,布
【项目摘要】本项目基于STM32F103C8T6单片机设计了一款智能学习书桌系统,集成环境监测、坐姿矫正与远程控制功能。硬件包含温湿度传感器(DHT11)、光敏模块、超声波测距(HC-SR04)、人体红外感应(HC-SR501)、OLED屏幕及WiFi模块(ESP8266-01S)等,实现以下核心功能: 环境监测:实时采集温湿度、光照强度,超阈值时声光报警; 坐姿检测:超声波传感器监测坐姿异常并提
本项目基于STM32F103C8T6单片机设计了一套智能环境监测系统,集成了温湿度传感器(DHT11)、烟雾传感器(MQ-2)、噪音传感器、OLED显示屏、蜂鸣器报警和WiFi模块(ESP8266-01S)。系统可实时监测环境参数,通过OLED显示温湿度、烟雾浓度和噪音值,支持阈值设置和声光报警功能,超标时触发蜂鸣器警示。同时通过WiFi连接手机APP实现远程监控和阈值调节,适用于农业大棚、室内环
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 从mcu开发切到esp32开发的同学,短时间内未必习惯。这就好像一个人习惯了用汇编语言开发,现在转到了c语言开发,会有一个不适应的过程。之前开发,我们需要对底层的细节非常熟悉,现在好像这一切都不用自己管了。自己需要做的,就是focus在业务上面就好。
我之前学习过stm32的HAL库但是还是不会看数据手册,所以我想先从ESP32开始学习看数据手册配置寄存器,而后再去深入学习stm32,在这里我是想分享自己的学习过程来做到复盘的效果,我使用的是ESP32-WROOM-32开发板在vscode上开发,欢迎各位大佬指点😭。我今天学习的是配置GPIO的寄存器点亮LED。
本文基于江协科技的STM32教程,详细介绍了I2C通信协议及其在MPU6050传感器中的应用。主要内容包括:1) I2C协议概述与硬件电路设计,强调开漏输出模式与上拉电阻的必要性;2) I2C时序详解,包括起始/终止条件、字节收发和应答机制;3) MPU6050传感器的功能特点、寄存器配置及数据读取方法;4) 软件I2C和硬件I2C两种实现方式的对比,提供完整的STM32驱动代码。文章建议学习前具
行空板K10是一款专为教育场景设计的国产AIoT开发板,集成2.8寸彩屏、摄像头、麦克风、扬声器和多种传感器。其核心功能包括本地离线人脸检测,通过ESP32-S3芯片的NPU加速实现实时人脸框选和坐标输出,支持多场景应用如门禁提醒、课堂考勤等。开发提供图形化(Mind+)和代码(C/C++)两种编程方式,内置AI视觉库简化开发流程。典型实验案例展示了人脸录入识别自动照相机的实现,凸显其高度集成、教
本文档描述了一个基于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
行空板K10是一款国产物联网与人工智能学习开发板,集成摄像头、麦克风、扬声器、2.8寸彩屏及多种传感器,支持离线人脸检测、语音识别等功能。其内置ESP32-S3 AI加速器,可实时框选人脸并联动硬件反馈,适用于门禁提醒、课堂考勤等场景。提供图形化编程和代码开发双模式,教学应用便捷。特点包括完全离线运行、硬件加速、多设备联动,但存在光线敏感、不支持原生人脸识别等局限。实验案例展示了人脸录入识别与RG
该代码实现了基于STM32F4的OV5640摄像头模块驱动,支持RGB565和JPEG两种图像输出模式。主要功能包括:1) 通过DCMI接口和DMA传输采集图像数据;2) 提供对比度调节、自动对焦、图像特效(7种)和分辨率切换(12种尺寸)功能;3) RGB565模式可直接在LCD显示,JPEG模式可通过串口发送图像数据;4) 包含帧缓冲管理机制,使用双缓冲技术实现连续采集。系统通过按键控制模式切
TCP虽然可靠,但可靠性是有代价的。三次握手建立连接、确认重传机制、拥塞控制算法……这些机制保证了数据可靠到达,但也带来了延迟和开销。某些场景下,我们更看重速度而非可靠性:实时音视频:视频会议、直播推流。丢几帧画面影响不大,但延迟会破坏实时体验。UDP可以让数据尽快到达,即使偶尔丢失也优于等待重传。在线游戏:FPS、MOBA类游戏。玩家的操作需要立即同步,延迟100毫秒和200毫秒的体验天差地别。
做 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驱动代码需实现微秒级
包含训练好的模型(人脸检测模型和人脸关键点识别模型)和模型推理代码,算法已封装成模块,供二次开发或接入自己的业务。应用级精度,行业级精度!算法适用于生产环境。onnx模型加速推理,不挑服务器,高精度,低延迟。人脸识别系统 4(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)支持cuda加速,服务部署等定制服务,具体业务请详谈。可检测人脸并根据人脸数据库识别人脸。
STM32上跑通TinyML的技术文章大纲 硬件与开发环境准备 选择适合TinyML的STM32开发板(如STM32H7、STM32F4系列)安装STM32CubeIDE或PlatformIO开发环境配置必要的硬件外设(如传感器、摄像头模块)vcnviturvm1a.feishu.cn/wiki/YySCw6YPkiUB80kl7QXc7s41n3b vcnviturvm1a.feishu.cn/
单片机
——单片机
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net