项目问题24/5/29需求:用一路IO口捕获外界方波PWM频率,将捕获值实时传入,使得正弦波频率和外界方波频率一致

embedded/2024/9/25 21:30:20/

问题

STM32F103控制下,定时器3的捕获PWM模式下的中断里的全局变量psc = 20,中断触发后,主函数while循环里TIM1_PWM_Init(1451,psc)函数初始化正弦波,用了中断传过来的全局变量psc后,为什么PWM频率不是PWM = 72000000.0 / ((145 * (psc1+1))=24.8Khz左右,而是250KHZ。当debug单步调试时PWM频率才正常

原因

在STM32F103控制下,定时器3的捕获PWM模式下的中断里的全局变量psc = 20,中断触发后,主函数while循环里调用了TIM1_PWM_Init(1451,psc)函数初始化正弦波,使用了中断传过来的全局变量psc。但是PWM频率不是预期的PWM = 72000000.0 / ((145 * (psc+1))=24.8Khz左右,而是250KHZ。这种情况可能是因为主函数中的while循环速度过快,导致定时器的计数不准确。

在单步调试时,程序会逐行执行,每个语句都会执行完毕才会进入下一个语句,因此PWM频率能够正常。而在正常运行时,while循环速度过快,导致定时器的计数不准确,从而导致PWM频率不是预期值。

为了避免这种情况,可以在while循环中加入延时函数,控制while循环速度,或者使用其他方式实现精确控制。这样就可以确保定时器计数的准确性,从而得到预期的PWM频率。

这可能是由于中断触发的频率非常高,导致主循环几乎没有机会运行。这可能是因为中断触发的频率比较高,导致主循环几乎没有机会运行


http://www.ppmy.cn/embedded/47342.html

相关文章

Vitis HLS 学习笔记--移除内存分配malloc

目录 1. 简介 2. 示例解析 2.1 源码解释 2.2 malloc 分析 2.3 替代方案分析 3. 总结 1. 简介 Vitis HLS 也不支持动态创建或删除 C/C 对象(用于综合)。 本文探究如何在C/C代码中避免使用显式的malloc函数来分配内存。在硬件设计和FPGA开发中&…

【物联网实战项目】STM32C8T6+esp8266/mqtt+dht11+onenet+uniapp

一、实物图 前端uniapp效果图(实现与onenet同步更新数据) 首先要确定接线图和接线顺序: 1、stm32c8t6开发板连接stlinkv2下载线 ST-LINK V2STM323.3V3.3VSWDIOSWIOSWCLKSWCLKGNDGND 2、ch340串口连接底座(注意RXD和TXD的连接方式…

微信小程序 画布canvas

属性说明 属性类型默认值必填说明最低版本typestring否指定 canvas 类型,支持 2d (2.9.0) 和 webgl (2.7.0)2.7.0canvas-idstring否canvas 组件的唯一标识符,若指定了 type 则无需再指定该属性1.0.0disable-scrollbooleanfalse否当在 canvas 中移动时且…

使用本地大语言模型和Langchain手搓免费的AI搜索问答助手

1 概述 大语言模型虽然已经有了很多的背景知识,但针对模型训练之后新产生的内容,或者领域内的知识进行提问,大模型本身通常无法准确给出回应,一个常用的解决方法是,借助检索增强生成(RAG)&…

【春秋云镜】Faculty Evaluation System未授权任意文件上传漏洞(CVE-2023-33440)

因为该靶场没有Write up,索性自己搞一下,方便别人,快乐自己! 漏洞概述: Sourcecodester Faculty Evaluation System v1.0 is vulnerable to arbitrary code execution via /eval/ajax.php?actionsave_user. 漏洞复现&#xff…

与设备无关的I/O软件

目录 什么是设备无关的 I/O 软件? 设备无关的 I/O 软件的特征 设备无关的 I/O 软件的实现方法 设备无关的 I/O 软件的优势 设备无关 I/O 软件的好处 1. 一致的用户体验 2. 跨平台兼容性 3. 可访问性 4. 灵活性和可扩展性 5. 成本效率 6. 简化开发 示例分…

Discuz! X3.4发帖时间修改插件批量操作版

下载地址:Discuz! X3.4发帖时间修改插件批量操作版 发帖时间与回复时间说明 1、使用本插件修改发帖时间,则帖子中的回复楼层的时间会保持同步同间隔修改,所谓同步同间隔就是如果某个回复是在主题发布之后一小时回复的,那么修改之…

Altair® Inspire™ 加快仿真驱动设计,缩短产品上市时间

Inspire应用于产品开发生命周期的早期,通过协作加速了创新、结构高效的零件和装配体的创建、优化和研究。 Inspire 的用户体验屡获好评,用户可以在短短几个小时内掌握几何图形创建和修改操作,并且它还具有可靠的 Altair 求解器功能&#xff…