我是靠谱客的博主 怕孤单老鼠,最近开发中收集的这篇文章主要介绍1.stm32嵌入式系统IO信号输出不稳定1.问题描述。2.问题分析3.经验总结4.*****@小绵羊嵌入式工作室@小骆驼AI工作室@*****,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.问题描述。

       在开发一个基于stm32的空气净化系统调试时候遇到了问题,stm32 IO口输出电平输出不稳定,系统使用一个大功率的5V稳压模供电,控制8个继电器,PM2.5四合一传感,测速传感器,10.1寸迪文串口屏幕,还有测试使用的打印串口。继电器就使用stm32普通IO口控制(高低电平控制断开和闭合),屏幕和传感器通过分别通过UART1,UART2串口与stm32通信。

      要实现通过串口屏幕关机,同时通过硬件按钮短按开机,长按关机,就想电脑关机功能那样。(开关与电源控制继电器并联通过,软件构成自锁结构,短按开关系统上电在main()函数中通过设置PA1IO口高电平让继电器控制电路闭合)。发现短按开关后继电器不能闭合,有时候其自动模式他继电器也不按程序执行。测量发现IO口高电平时候电压是1.5V,不是3.3V。

2.问题分析

2.1检查继电器是否正常

直接给继电器控制线高电平都能正常闭合,所以继电器是没问题

2.2程端口初始化错误或者程序逻辑错误

分别检查控制继电器的IO初始化设备,设置为推挽输出,初始化电平为低电平;在控制继电器动作的条件语句中加入打印函数,通过穿上位机串口查看程序是否执行。以上都没有问题。

2.3稳压模块功率不够导致MCU供电不足

查看每个元器件功率和电源功率对比,电源的额定功率是足够的。通过电流表实测电流乘上电压,发现功率也是够

2.4 MCU受其他模块干扰导致IO输出电平不稳定

使用两个电源模块供电,其中MCU单独供电测试发现IO高电平输出正常。

3.经验总结

嵌入式开发,外围设备比较多,电路系统有频繁的高低电平变化和干扰时候,MCU单独供电边角合适。嵌入式系统调试比纯编程要麻烦一些,因为问题可能来自软件和硬件。遇到问题时候要两边凑,一个一个排除。软件调试最好使用串口,把重要程序执行过程打印出,可以查看程序执行打哪里,问题出在哪里。硬件首先检查接线,还有驱动文件和函数调用,供电是否稳定,还有外部电磁或者电源干扰。

最后

以上就是怕孤单老鼠为你收集整理的1.stm32嵌入式系统IO信号输出不稳定1.问题描述。2.问题分析3.经验总结4.*****@小绵羊嵌入式工作室@小骆驼AI工作室@*****的全部内容,希望文章能够帮你解决1.stm32嵌入式系统IO信号输出不稳定1.问题描述。2.问题分析3.经验总结4.*****@小绵羊嵌入式工作室@小骆驼AI工作室@*****所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(88)

评论列表共有 0 条评论

立即
投稿
返回
顶部