.c381 2024-06-23 15:08 采纳率: 0%
浏览 11

stm32c8t6引脚的奇怪现象

代码里没有设置PA7的引脚配置,但是有判断PA7的高低电平来增加屏幕下方数字,当水泵触发时,数字增加

但是!当PA7没有接任何东西时,水泵触发时数字不增加

img

而当PA7接入一根空导线时,水泵触发时数字能正常增加

img


有没有人可以帮忙解释一下原因🙏

代码来源:b站up主:科技骨
【STM32-智能水泵(开源)-哔哩哔哩】 https://b23.tv/mCK5XYz

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-23 15:08
    关注

    引自免费微信小程序:皆我百晓生

    针对你所描述的问题,确实存在一些值得探讨的点。以下是可能的原因分析:

    初步分析:

    1. PA7的引脚特性:即使代码中没有明确配置PA7的引脚,STM32微控制器通常有其默认的引脚配置。这可能意味着在某些情况下,PA7的引脚状态会影响其读取的电平值。如果它处于默认配置(例如上拉或下拉状态),可能会在某些情况下读取到不同的电平值。因此,尽管你没有在代码中配置它,但其实际行为可能因物理连接状态而异。
    2. 电磁干扰与导线连接:当PA7接入空导线时,由于导线的特性,可能引入了某种程度的电磁屏蔽或减少了外界的电磁干扰。当没有接入任何导线时,PA7可能更容易受到外界的电磁干扰,导致读取的电平不准确。这解释了为什么在没有连接任何东西时,水泵触发时数字不增加的现象。一旦连接了导线,这种干扰可能得到了抑制或屏蔽,因此数字能够正常增加。
    3. 代码逻辑与硬件行为:虽然代码逻辑看似正确,但硬件层面的行为可能受到多种因素的影响。例如,某些引脚可能在不同的配置下有不同的默认行为或响应方式。此外,电路中的其他部分也可能影响PA7的行为。

    进一步调查步骤:

    为了更准确地诊断问题,你可以尝试以下步骤:

    1. 检查电路设计:仔细检查涉及PA7的电路设计部分,看是否存在可能影响其正常工作的元件或电路连接问题。
    2. 使用示波器检查信号:使用示波器观察PA7的电平变化,这可以帮助你更准确地了解在不同条件下(如连接或不连接导线)的信号变化。
    3. 查看官方文档和资料:查阅STM32C8T6的官方文档和资料,了解关于PA7引脚的详细信息,包括其默认配置和行为特性。
    4. 尝试其他引脚测试:为了验证是否是特定引脚的问题,可以尝试使用其他引脚进行相同的测试,看是否存在类似的行为。这有助于确定问题是否仅限于PA7引脚还是更广泛的问题。

    希望这些分析和建议能帮助你解决问题。如果你还有其他疑问或需要进一步的帮助,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月23日

悬赏问题

  • ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格
  • ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
  • ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
  • ¥15 GD32H757的can通信配置
  • ¥20 nist随机数测试的问题
  • ¥20 帮我解决这个项目,thank you各位程序员
  • ¥15 哪位能用ea软件做一下,有偿