博客
关于我
STM32F429第二十三篇之捕获实验详解
阅读量:581 次
发布时间:2019-03-11

本文共 859 字,大约阅读时间需要 2 分钟。

对于遇到的问题,以下是逐步的分析和解决方法:

  • 确认系统配置与初始化正确性

    • 检查 TIM5_CH1_Cap_Init 函数中是否正确初始化了预分频、极性选择、输入选择等参数。特别是极性是否设置为上升沿(TIM_ICPOLARITY_RISING)。
    • 确保 TIM5_Handler 的配置正确,包括计数模式设置为上升沿检测。
  • 检查中断响应函数是否正确处理捕获事件

    • 查看中断响应函数 HAL_TIM_IRQHandler,确保在捕获事件发生时正确转换到输入通道,并调用相应的回调函数。
    • 检查是否有其他中断事件干扰,影响了对捕获事件的响应。
  • 分析主循环中的捕获处理逻辑

    • 确认在每次循环中,PWM的占空比是否正确进行调整,并且触发了正确的必测器信号。
    • 检查 TIM_SetTIM3Compare4HAL_TIM_GetTIM3Capture4 函数的使用是否正确,确保PWM波的产生和捕获同步进行。
  • 检查中断回调函数中的状态变量处理

    • 确保 Capture_STACapture_VAL 变量在回调函数中被正确处理,尤其是在上升沿捕获后是否正确重新初始化计数器。
    • 检查是否在回调函数中正确标记捕获开始和结束,使得 Capture_STA 变量能够正确反映高电平持续时间。
  • 验证滤波器设置是否正确

    • 检查是否在初始化滤波器时正确设置了截 Holden configuration,防止滤波过多或过少,导致无法捕捉到实际的高电平转换。
  • 排除其他干扰因素

    • 确保没有其他中断活动正在竞争中断处理,导致未能正确处理输入捕获。
    • 检查是否有外部因素干扰PWM波生成和捕获过程,确保系统内外部环境稳定。
  • 进一步调试和验证

    • 根据上述筛选,逐步排除潜在的线索,运行代码,观察捕捉到的 Capture_VAL 是否开始返回非零值。
    • 在成功捕获到有效数据后,进一步分析高电平持续时间的计算是否正确,确保输出结果符合预期。
  • 通过以上步骤,结合实际运行情况,可以逐步定位问题,找出导致捕获值保持为0的根本原因,并采取相应的调整措施。

    转载地址:http://zdztz.baihongyu.com/

    你可能感兴趣的文章
    python语言:装饰器原理
    查看>>
    Python 交互式数据可视化详解
    查看>>
    python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>