灵动MM32F0130时钟PLL到72Mhz,IO口发送脉冲,低电平变宽
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, STR R1, B SENDS是否有人遇到过类似的问题?这种低电平变宽的情况可能是由于时钟不稳定导致的吗?我已经检查了时钟PLL的配置,但问题仍然存在。请教各位大神,有什么可能的原因和解决方法吗?
检查汇编程序中的指令是否正确。特别注意B指令(无条件跳转指令),它应该指向程序的末尾或正确的循环点。 可能是时钟稳定性问题
[*]如果您使用的是固件库函数来控制IO口,请确保您使用的库版本是最新的,并且没有已知的相关问题。
使用示波器检查IO口上的信号,观察是否存在外部噪声或干扰。 如果您的代码中包含软件延时,检查它们是否正确实现。不正确的延时可能会导致脉冲宽度异常。
页:
[1]