news 2026/4/3 11:14:26

STM32空气检测系统项目中解决的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32空气检测系统项目中解决的问题

1.项目的开始

做这个项目的初衷,首先自己是小白,需要项目经验,同时老师布置了一个大作业,然后我的想法是这个大作业的作品是检测甲醛气体之类的。但我上网搜索之后发现一个辰哥单片机的博主,他做的那个空气质量检测项目还不错,然后决定复刻这个项目。

复刻项目的开始(声明代码一定要手敲)

首先你得选材,你的各个模块必须测试过,而且你必须十分的清晰各个模块代码以及手册,操作的·具体流程。选好模块之后,我的建议是可以用面包板测试一下这个系统是否能正常的运行(主要是检查自己的代码能否跑起来)。博主也是把各个模块测试完毕之后,再选择PCB打板。

2.模块的选择上

(1).基础功能:

在我第一次测试中,这个项目只能进行各个模块数值的OLED显示,还有按键的切换OLED页面进行阈值的设置,当浓度到达阈值时会报警。

(2).后续改进(问题的出现):

但后面我加上了ESP8266这个模块,因为我觉得项目写在简历上必须有点水平才行,加上这个模块后问题就多起来了。首先,最初的设计版本也是有ESP8266的但不知道为什么一开始的这个模块就有问题,连接上串口后发AT指令无法返回OK。后面直接又买了一块ESP8266-01s的同时买了一块烧录模块。我重新把固件烧录进去后,旧的那块ESP8266才起作用,但还有其他未知的问题,这里项目使用的是ESP8266-01S,使用后因为是USART串口通信,但单片机(STM32F103C8T6)只有三个串口,JW01使用了一个,ESP8266-01S使用一个,DC01使用一个,是不是刚刚使用完全。但我在加入ESP8266-01时为了观测是否能正常通信,我额外接了一个CH340串口通信模块,观察是否能正常接收到指令。那问题就来了,我必须要放弃一个模块,后面我是把JW01换成MS1100。解决问题的方法,1,模拟软件USART通信,2.间歇通信,3重新选择模块。我选择的是3.重新选择模块,为什么选择三,因为方法三最简单,最高效(省时间)。

(3).测试问题的解决:

测试环节我发现当我用ONENET平台下发数据时,下发风扇停止的指令老是卡住,系统直接卡死不动,当我用debug调试时发现程序卡死在

void HardFault_Handler(void) { /* Go to infinite loop when Hard Fault exception occurs */ while (1) { } }

我直接ai查起:得到的答案是大概率是栈的内存不足。

我把栈的大小从200改成400后问题解决,代码成功跑成。

最关键的一点debug调试这一项技能一定要会。

3.心得体会

其实还有很多注意事项,这里我不在细讲,但你自己要清楚做项目就是要解决各种问题,这是宝贵的经验,无论你用什么手段,重要的是解决问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 6:22:49

UnrealPakViewer实战指南:解密UE4 Pak文件的五大核心技巧

还在为UE4 Pak文件的黑盒操作而头疼吗?UnrealPakViewer作为一款专门针对虚幻引擎4开发的Pak文件查看工具,能够帮你轻松透视Pak文件内部结构,优化资源管理效率。今天我们就来聊聊如何用这款工具解决实际开发中的常见问题! 【免费下…

作者头像 李华
网站建设 2026/3/23 14:21:38

漏洞扫描AWVS安装使用教程,三分钟手把手教会!

一、AWS简介 Acunetix Web Vulnerability Scanner(简称AWVS)是一个自动化的Web漏洞扫描工具,它可以扫描任何通过Web浏览器访问和遵循HITP/HTTPS规则的Web站点。 AWVS原理是基于漏洞匹配方法,通过网络爬虫测试你的网站安全,检测流行安全 AWVS…

作者头像 李华
网站建设 2026/3/30 9:25:20

绝区零自动化工具全功能实战指南

绝区零自动化工具全功能实战指南 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 绝区零自动化工具是一款专为《绝区零》玩家…

作者头像 李华
网站建设 2026/3/28 4:55:26

5分钟掌握Android投屏实用技巧:QtScrcpy全新体验全解析

还在为手机屏幕太小而烦恼?还在寻找高效的跨设备控制方案?QtScrcpy的出现彻底改变了传统投屏方式,这款基于Qt框架开发的Android投屏工具,通过创新的技术架构和丰富的功能特性,为用户带来了前所未有的投屏体验。 【免费…

作者头像 李华
网站建设 2026/3/26 7:32:58

Lumafly模组管理器:空洞骑士玩家的完整解决方案

Lumafly模组管理器:空洞骑士玩家的完整解决方案 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly Lumafly是一款专为《空洞骑士》设计的跨平台模组管理…

作者头像 李华
网站建设 2026/3/27 10:40:22

LobeChat缓存策略优化:减少重复推理开销

LobeChat缓存策略优化:减少重复推理开销 在如今大模型应用遍地开花的时代,一个看似简单的“聊天框”背后,往往隐藏着高昂的算力成本和复杂的工程权衡。以 LobeChat 这类现代化开源对话框架为例,它支持接入 GPT、Claude、通义千问等…

作者头像 李华