登录社区云,与社区用户共同成长
邀请您加入社区
本文系统讲解了指针的核心概念与应用:指针本质是存储内存地址的变量,通过&和*操作符进行地址获取与解引用。指针类型决定数据解释方式,在嵌入式开发中常用于寄存器映射、动态内存管理和协议处理。文章重点剖析了野指针和越界访问等风险及规避方法,推荐通过画内存图和调试观察来理解指针。同时解析了指针与数组的关系、多级指针及函数指针的用法,强调指针是精确控制内存的重要工具。掌握这些原则可有效提升对指针的认
本项目基于STM32F103C8T6单片机设计了一套公寓环境检测系统,通过多种传感器(DHT11温湿度、MQ-2烟雾、MQ-7一氧化碳、PM2.5粉尘)实时采集环境数据,并显示在TFT屏幕上。系统支持阈值设置和声光报警功能,当检测值超过设定阈值时会触发蜂鸣器报警。通过ESP8266-01S WiFi模块连接手机APP,实现远程数据监控和阈值调节。硬件设计包括原理图和PCB图,软件部分采用模块化编程
本文介绍了电机驱动系统中电源电压与温度采样的实现方法。实验在无刷电机控制基础上,通过ADC3+DMA双通道采集母线电压和NTC温度,采用电阻分压、隔离运放和差分转单端电路将高压转换为安全信号,并通过串口以十六进制波形帧输出数据。硬件上利用1/37分压和1.24V偏置处理母线电压,软件中通过DMA中断回调进行数据滤波处理,最终实现电压值换算和温度监测功能,同时保留原有电机控制和保护功能。
本设计为基于STM32F103C8T6单片机的智能养老手环系统,集成多传感器实现健康监测功能。系统通过GY-906测温传感器、MAX30102心率血氧传感器、ADXL345倾角传感器分别采集体温、心率血氧及运动步数数据,并通过OLED屏幕实时显示。支持阈值设置与声光报警功能,当体温/心率/血氧超标时触发警报。系统还具备定时用药提醒、手环照明、WIFI远程控制(通过ESP8266模块连接手机APP查
本文介绍了一个基于STM32F103C8T6单片机的智能充电车棚火灾防控系统设计方案。系统通过DHT11温湿度传感器、MQ-2烟雾传感器和火焰传感器实时监测环境参数,TFT屏幕显示各项数据。主要功能包括:环境数据采集与显示、火灾报警(蜂鸣器)、充电桩控制(按键)、远程监控(WiFi模块ESP8266-01S连接手机APP)及阈值设置。项目详细展示了硬件设计(原理图、PCB)、软件程序(包括传感器数
单片机:STM32F407。开发板:DMF407电机开发板。平台:keilV5.31。
大部分还是引用江科大的源码,只做了部分修改,注意甄别
开发板:DMF407电机开发板。平台:keilV5.31。单片机 :STM32F407。1、U盘1#,与串口有干涉。2、U盘2#,与串口有干涉。
一套专为资源受限单片机设计的高效率角度反函数计算方案,完全用纯C语言实现,不调用math.h等任何浮点库或标准库函数。核心采用预生成的asin查找表配合整型开方运算,替代传统atan查表,利用asin曲线在0~90度区间斜率更平缓、插值误差更小的特性,提升整数运算下的精度稳定性。所有计算基于16位或32位整型完成,支持全范围0~360.00度输出,自动判别输入坐标所在象限并修正结果,适配第一至第四
我们这里通过主函数注册了三个任务执行的周期分别是500ms,2000ms和1000ms,我们在id为1的任务函数中重新设置了id为2的执行周期为500ms,可以从打印的结果来看,以上就是关于时间片轮询调度框架的一个构建,鉴于笔者能力有限,如有错误请积极指正。因为我们是裸机的框架因此需要借用系统滴答定时器中断这样时间是很精确的 大多数的裸机调度的框架的时间都是基于系统滴答定时器的,接下来看看演示的效
该系统以STM32F103RCT6为主控芯片,采用JSY-MK-1031电力参数采集模块实时测量充电过程中的电压、电流、有功功率、功率因数、频率和累计用电量等关键电力参数,并利用SHT30温湿度传感器监测充电环境状态。系统通过ESP8266模块连接华为云IoT物联网平台,将采集到的充电数据实时上传至云端,实现数据的远程存储与管理。
本系统以STM32F103C8T6单片机为主控核心,搭建智能粮仓监测控制系统。系统可实时采集粮仓温湿度环境数据,支持粮仓灯光、电机设备的控制功能;依托ESP01SWiFi模块将环境数据上传至物联网云平台与APP,实现设备的云端与移动端双端远程控制。同时搭载ESP32-CAM模块完成粮仓现场虫害识别,并配套设计虫害诱捕结构,可实现储粮害虫的诱捕治理。
是控制有刷直流电机正反转、调速、刹车的经典电路,因电路形状酷似字母"H"得名,被广泛应用于机器人、智能小车、电动工具等场景。直流有刷电机半桥驱动是结构简单的基础驱动方案,仅需半个H桥电路即可实现,适合仅需单向调速、对成本敏感的应用场景。当电机需要换向的时候,我们就让主通道固定输出高电平,互补通道输出。占空比即可调整电机上的电压,进而控制电机的速。电平,此时只要调节主通道输出的。单片机:STM32
本文实现了一个基于STM32F10x系列USART1的DMA收发驱动,采用空闲中断检测帧结束。主要特点包括: 硬件配置使用PA9(TX)和PA10(RX),DMA1通道4/5分别处理收发; 提供128字节接收缓冲区,通过IDLE中断判断帧结束并计算长度; 支持两种接收处理方式:回调函数注册或重写弱定义处理函数; 发送采用DMA带超时等待,接收自动重启DMA; 包含完整的初始化流程,配置为8N1格式
本文介绍了在RA-Eco-RA2L1开发板上实现UART串口打印功能的完整流程。通过瑞萨FSP(Flexible Software Package)配置UART外设,封装串口发送接口,并构建类似printf()的日志输出功能UART_PRINT。文章详细讲解了FSP中UART驱动的添加与配置、回调函数实现、数据发送封装以及格式化输出应用,最终通过串口调试助手验证了整数、浮点和字符串的格式化输出功能
行空板K10是一款国产物联网与AI教学开发板,集成2.8寸屏、WiFi蓝牙、摄像头、麦克风、扬声器及多种传感器,支持离线人脸/语音识别与合成功能。本文重点讲解其UDP广播功能在局域网中的应用:通过WiFi连接同一路由器,设备间可实现一对多广播通信(如主控发送指令,多从机同步响应)。文章详细解析了UDP积木模块的使用方法、标准程序结构、核心优缺点及实操注意事项,并附有实验代码示例,展示如何通过UDP
(添加片选和 SPI 收发核心宏)------------// ====================== 你需要添加的部分 ======================// SPI片选控制(PB0,根据你的实际接线修改)// SPI单字节收发核心宏(所有SPI读写都通过这个宏)// HAL_SPI_TransmitReceive:发送一个字节,同时接收一个字节// 声明CubeMX生成的SPI
行空板K10是一款国产物联网与AI学习开发板,集成摄像头、麦克风、扬声器、2.8寸彩屏及多种传感器,支持离线图像检测、语音识别与合成功能。其实验案例展示了移动侦测功能,通过NPU神经网络加速器实时分析画面变化,配合屏幕文字提示和RGB灯光联动,可用于安防监控、宠物监测等场景。板载资源丰富,无需外接设备即可完成AI项目开发,适合教学与实践应用。 (摘要字数:150字)
UART 接收数据时,莫名其妙整帧丢包或后半段乱码?不是波特率错了,而是 ORE(Overrun Error)或 DMA 覆盖导致的。本文解析两个最容易被忽略的标志位。
该文档展示了一个基于8086处理器的LCD显示驱动代码示例。程序通过HD44780控制器驱动16针LCD模块,包含初始化、清屏、光标定位和字符串显示等功能。代码首先初始化LCD并显示"Hello John",然后将光标移至第二行显示"Merry X-mas"。关键子程序包括检测LCD就绪状态(lcd_ready)、清屏(clear_lcd)、字符串输出(pu
手把手教你用GD32E23x和AT32F403A驱动土壤湿度传感器,含ADC采样、百分比换算,双平台完整代码。
本设计实现了一个基于STM32F103C8T6单片机的智能停车场管理系统,主要包含以下功能:通过超声波传感器和红外光电传感器实时检测车辆进出,自动控制闸机开关;利用DS1302时钟模块计费;OLED屏幕显示车位状态;WIFI模块(ESP8266-01S)连接手机APP实现远程监控和预约功能。系统硬件由主控芯片、传感器模块、显示模块等组成,软件采用模块化程序设计,实现了车位检测、指示灯控制、数据上传
保值、不占栈、生命周期全局;锁死在当前文件,外部不可访问。
XT25F128F NOR Flash STM32H7驱动
【项目摘要】本项目基于STM32F103C8T6单片机设计了一款智能学习书桌系统,集成环境监测、坐姿矫正与远程控制功能。硬件包含温湿度传感器(DHT11)、光敏模块、超声波测距(HC-SR04)、人体红外感应(HC-SR501)、OLED屏幕及WiFi模块(ESP8266-01S)等,实现以下核心功能: 环境监测:实时采集温湿度、光照强度,超阈值时声光报警; 坐姿检测:超声波传感器监测坐姿异常并提
摘要:本项目设计了一个基于STM32F103C8T6单片机的智能果蔬保鲜柜系统,集成了温湿度监测、环境调控及远程控制功能。系统通过DHT11传感器采集环境数据,OLED屏幕实时显示温湿度及设备状态,支持触摸开关、语音识别(SNR9813模块)和按键控制通风口/照明。当温度/湿度超过设定阈值时,系统自动启动风扇/加湿器/除湿器进行调节,并通过WiFi模块(ESP8266-01S)连接手机APP实现远
本项目设计了一种基于ESP32的河流水质检测装置,通过集成水温、PH、电导率以及浊度等关键水质参数检测模块,实现对河流水体状态的实时采集与分析
本文深入剖析 Linux 多线程与单片机系统并发通信痛点,手把手带你用纯 C 语言从零拆解一个极简、零内存碎片、零依赖的跨平台事件总线(embedmq)。单核吞吐量高达300万次/秒,助你彻底告别裸机 if-flag 满天飞与 RTOS 队列强耦合的灾难代码
EasyLogger嵌入式日志库移植指南 EasyLogger是一款专为嵌入式设计的超轻量级C日志库,核心特点包括代码精简、资源占用低、支持多级日志过滤和多种输出方式。移植到STM32平台的关键步骤如下: 源码结构:只需修改elog_cfg.h(功能配置)和elog_port.c(硬件适配层)两个文件。 配置要点: 必须关闭异步模式、缓冲模式和ANSI颜色功能 推荐ERROR/WARN级别输出完整
AD2S1210是一款高精度的旋变数字转换器(RDC),用于将旋转变压器输出的模拟信号转换为数字角度和速度值。本程序基于TI DSP F28335实现与AD2S1210的串行通信(SPI接口),完成角度和速度的读取与解析。
基于STM32的舵机控制系统(PWM控制)
本文介绍了按键检测的实用方法,重点解决抖动误触发和功能扩展问题。核心方案包括:1)采用边沿检测避免电平抖动干扰;2)非阻塞式20ms消抖延时处理;3)状态机实现单击/长按识别(短按释放触发,长按持续判断);4)提供可扩展架构支持双击等高级功能。代码示例展示了基于tick计时和状态切换的实现逻辑,强调通过KEY_IDLE/DEBOUNCE/PRESS/HOLD状态转换确保检测可靠性,其中长按采用持续
BLDC电源电压、电流及温度的采集。单片机:STM32F407。开发板:DMF407电机开发板。平台:keilV5.31。
STM32的ADC(模数转换器)是一种12位逐次逼近型转换器,支持18个输入通道(16个外部+2个内部),转换时间仅1us。主要特点包括:规则组和注入组双转换单元,支持DMA数据传输;内置模拟看门狗监测阈值;提供单次/连续转换、扫描/非扫描等多种工作模式。硬件电路设计需注意参考电压匹配,软件配置需完成时钟初始化、GPIO设置、校准等步骤,并可通过标准库函数实现通道选择、触发控制和数据读取。ADC广
摘要:本文系统介绍了ZigBee无线通信技术的原理与架构,基于《ZigBee技术与实训教程(第2版)》知识体系,聚焦理论层面。内容分为五部分:首先阐述无线传感器网络(WSN)的基础特性与关键技术;其次解析IEEE802.15.4标准的物理层、MAC层机制及数据传输方式;接着详述ZigBee协议栈的网络层路由算法、应用层服务及安全机制;然后概述CC2530芯片的硬件功能;最后分析Z-Stack协议栈
说实话写sd卡文件并不是个很可靠的记录数据的方式, 他有问题是只能事后发现,除非有什么提醒, 记录文件有太多不确定性,磁盘满了,坏区,创建文件,扇区,这不算最好的方式, 网络发送,蓝牙串口,有得选的话就不用写文件的方式. 虽然被我淘汰了但这套代码确实可用,只是未经充分测试.测试要话太久.这里把这套代码整理记录下来.首先不知道为什么f_mount一致性就会阻断ucosiii.所以只在裸机里用了. 具
一种驱动方式的区别是固定在两相中间位置,因为两相同时通入相同的电流此时磁力矢量在。两相中间就会把转子吸引到两相的中间位置,还有一个区别就是这种方式它是受到了两个磁。接电源负极,那么此时根据电磁原理,产生磁场,异性相吸,就会将转子吸引到第一步的。相通电,通过电磁原理,电生磁,然后通过磁力把转子吸引到。°的步距角顺时针旋转,与整步相比半步的驱动方式旋转起来。接正),通入相同电流,产生磁力相同;接正),
行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等A
这代码看起来没啥问题对吧?网上教程都这么写,官方demo也这么写。之前一个项目里,整个系统跑了大概十几分钟就死一次——不是崩溃,是卡死,所有任务集体罢工,只剩那个最高优先级的UART处理任务在疯狂跑。但问题是,UART上根本没数据进来。折腾了两天我才反应过来——问题根本就不在代码逻辑上,在任务优先级安排上。