[MM32硬件] 灵动MM32F0130时钟PLL到72Mhz,IO口发送脉冲,低电平变宽

[复制链接]
1058|5
 楼主| 高级安全大使 发表于 2024-2-28 20:13 | 显示全部楼层 |阅读模式
MM32F0130时钟PLL到72MHz,IO口发送脉冲,低电平异常变宽,求解决方法
大家好,
我在使用灵动MM32F0130系列MCU时遇到了一个问题,希望得到一些帮助。我将时钟PLL配置为72MHz,并使用以下C程序和汇编程序进行GPIO口脉冲发送测试,但发现低电平部分的脉冲宽度异常变宽。
C程序:

while(1){    GPIOB->BSRR = GPIO_Pin_3;    GPIOB->BRR = GPIO_Pin_3;}
汇编程序:
    AREA ctesr,CODE,READONLY    EXPORT scan_test      GPIOB_BSRR     EQU     0X48000410GPIOB_BRR      EQU     0X48000414scan_test    MOVS   R1,#0X01    LDR    R2,=GPIOB_BSRR    LDR    R3,=GPIOB_BRRSENDS    STR    R1,[R2]    STR    R1,[R3]         B      SENDS
是否有人遇到过类似的问题?这种低电平变宽的情况可能是由于时钟不稳定导致的吗?我已经检查了时钟PLL的配置,但问题仍然存在。请教各位大神,有什么可能的原因和解决方法吗?




[color=var(--tw-prose-bold)]


七毛钱 发表于 2024-2-29 10:22 | 显示全部楼层
检查汇编程序中的指令是否正确。特别注意B指令(无条件跳转指令),它应该指向程序的末尾或正确的循环点。
laocuo1142 发表于 2024-2-29 11:00 | 显示全部楼层
可能是时钟稳定性问题
flycamelaaa 发表于 2024-2-29 14:00 | 显示全部楼层
  • 如果您使用的是固件库函数来控制IO口,请确保您使用的库版本是最新的,并且没有已知的相关问题。

powerantone 发表于 2024-2-29 15:01 | 显示全部楼层
使用示波器检查IO口上的信号,观察是否存在外部噪声或干扰。
stormwind123 发表于 2024-2-29 16:12 | 显示全部楼层
如果您的代码中包含软件延时,检查它们是否正确实现。不正确的延时可能会导致脉冲宽度异常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

445

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部