菜只因C 2024-02-09 11:30 采纳率: 72.7%
浏览 43
已结题

蓝桥杯嵌入式STM32G431测量频率

蓝桥杯嵌入式STM32G431
想通过定时器测量频率
CubeMX配置:

img

img


Keil代码:

img

img

img


但最后LCD上显示的频率为0,哪里出问题了呀

  • 写回答

2条回答 默认 最新

  • GISer Liu 2024-02-09 11:31
    关注

    该回答引用自GPT-3.5,由博主GIS_Liu编写:

    根据你提供的描述,可能存在以下几个问题导致LCD上显示的频率为0:

    1. 定时器配置错误:首先,需要确认定时器的配置是否正确。你可以检查在CubeMX中生成的代码,确保定时器的时钟源、分频系数、计数模式等参数设置正确。如果定时器配置有误,可能导致无法正确计算频率。

    2. 定时器中断未正确配置:其次,检查定时器中断是否正确配置。在你提供的代码中,应该有中断处理函数TIM6_DAC_IRQHandler(),需要确保这个函数中的代码逻辑正确,特别是在捕获到定时器溢出中断后,应该进行频率测量的相关处理。

    3. 频率测量逻辑错误:在中断处理函数中,需要根据定时器的工作原理正确计算频率。一般来说,可以在每次捕获到定时器溢出中断时,获取当前计数器的值,并根据设定的定时器时钟源、分频系数等参数计算频率。确保逻辑正确,不会导致频率计算错误。

    4. LCD显示问题:最后,需要确保LCD显示的部分代码没有问题。检查LCD初始化配置以及频率显示的逻辑,确保LCD可以正确显示计算得到的频率值。

    针对以上可能存在的问题,你可以逐一检查并调试,确保每个环节都正确配置和实现。如果需要进一步的帮助或解释,请提供更多相关代码或详细信息,我将竭尽所能地帮助你解决问题。

    img

    如果该回答解决了您的问题,请采纳!如果没有,请详述问题所在!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月9日
  • 已采纳回答 2月9日
  • 创建了问题 2月9日