STM32课程设计(进行错误分享)(电子密码锁)

目录

引言

OLED无法显示

OLED显示屏时没有给予足够的延迟:

4X4按键矩阵无法读取

 蜂鸣器上电就响

步进电机不会动

最后


引言

最近在弄学校的课程设计,我有很多感慨。我选的项目是电子密码锁,我所使用的外设是:AT24C04,4X4按键矩阵,步进电机与步进电机驱动板,ZET6,OLED屏幕,蜂鸣器。我就花了2个小时建了个库写了下代码。但运行途中问题还是比较的大(细小错误往往非常致命)!在这里我不做源代码了分享,需要的私聊我获取。

OLED无法显示

很多人可能会发现当我们OLED连接好,上电时居然不会显示!你左看右看发现一切都是根据网上教程来的,并且断点测试发现,我们的引脚是正常供电的!那问题出在哪里了?此时很多小伙伴说自己的OLED坏了,但我不这么认为,所以终于在OLED手册上查询到了:因为是英文,我发出来好多宝子也不好懂,那就让我来讲吧!

OLED显示屏时没有给予足够的延迟:

  1. 命令执行错误:OLED显示屏需要时间来处理接收到的命令。如果没有适当的延迟,微控制器可能会在下一个命令发送之前,还没有完成前一个命令的处理。这可能导致命令执行错误或显示屏无法正确配置。
  2. 显示异常:没有适当的延迟还可能导致显示异常,如屏幕不显示、显示内容错误或显示不完整。
  3. 硬件损坏:在极端情况下,如果微控制器发送命令的速度过快,可能会对OLED显示屏的硬件造成损坏。

为了确保OLED显示屏的正确初始化,你应该在发送每个关键命令或设置后添加适当的延迟。这些延迟的具体时间取决于你使用的OLED显示屏型号和初始化序列。以下是一些建议的步骤:

  1. 查阅文档:首先,查阅OLED显示屏的官方文档或数据手册,了解初始化序列和所需的延迟时间。
  2. 添加延迟
  3. 测试和验证:在添加延迟后,对OLED显示屏进行测试,以确保它能够正确显示内容。你可以尝试显示一些简单的图形或文本,以验证显示屏的功能。
  4. 优化延迟:如果可能的话,尝试优化延迟时间。过长的延迟可能会降低程序的性能。你可以通过逐步减少延迟时间并测试显示屏的功能来找到最佳的延迟值。

因此加延时!加延时!加延时!!!!!!!!

4X4按键矩阵无法读取

我的朋友给我接的按键矩阵,在运行时发现无法读取按键。我给他使用串口检测时惊人的发现,当我按动按键时串口有时候打印出“1,2,3,4”有时候不打印!我一拿起矩阵一下就头大了!原来是不懂如何与元件连接。来看看我们正常的:

我来讲一下哈C指的是行,R指的是列!!!!C1R1——>指的是S1(第一行第一列)说到这里你已经懂了吧,你从C 4无脑接到R4那肯定会出现逻辑错误呀·,所以从C1接到C4.从R1接到R4!

 蜂鸣器上电就响

我觉得这个不会,真的是有点知识学浅了。我的系统化接上电后直接响!是因为我不知道我的这个蜂鸣器是不是为低电平触发!所以初始化时我把引脚点平拉高,但上电就响,所以只需要在初始化时吧电平拉低,在写控制函数拉高拉低换一下就行。所以拿上蜂鸣器不知道是不是为低电平触发就多试试。

步进电机不会动

这个问题出现在我身边的人,为什么8排4线步进电机连上他的C8T6不会动!那是当然你的步进电机驱动电压为5V,而你接的是3.3V。这下修改完发现还是不转动!这是因为:

  1. 脉冲信号转换:步进电机是通过脉冲信号进行控制的,这些脉冲信号需要被转换成电机可以理解和执行的指令。驱动板正是起到这样的转换作用,它将接收到的脉冲信号转化为驱动步进电机的具体信号,从而控制电机的运行。

  2. 电机驱动需求:步进电机无法直接连接到普通的直流或交流电源上工作,它需要一种专门的驱动电源,即步进电机驱动器。这种驱动器能够根据控制系统的指令,为电机提供适当的电流和电压,以确保电机按照预定的方式运行。

  3. 精确控制:步进电机的运行精度和稳定性非常高,这得益于驱动板对脉冲信号的精确处理。通过控制脉冲的数量和频率,可以精确地控制电机的角位移和转速,从而实现精准的定位和调速。

  4. 保护电机:驱动板不仅提供驱动信号,还通常具有过流、过压等保护功能,以确保电机在运行过程中不会因异常情况而损坏。

所以买个驱动板吧,不要省着钱哈,咱们做单片机的特点就是敢花钱。

这是我目前发现的问题,还是非常容易理解的。

最后

需要学习手册的私信我。

需要代码和流程的私信我。

需要课程设计报告的私信我(36页) 

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值