打印
[其他ST产品]

stm32如果在程序中使能了外部高速晶振并且用示波器看到了晶振在振,是说明程序在运行吗?

[复制链接]
1488|45
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2024-2-26 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32外部高速晶振是要通过程序使能的,那如果我在程序中使能了外部高速晶振,并且用示波器看到了晶振在振,是不是就说明程序已经运行了?
我往STM32下载程序,下载软件提示是下载成功了,但是看不到程序运行的现象(IO口输出方波驱动LED),用示波器也没看到那个IO口的方波,一直是低电平。但是查看外部晶振的两个脚,是在振的。
不知道问题出在哪里。。。。。。

PS:程序应该是没有问题的,同样的程序我在买的最小系统上运行是没有问题的

使用特权

评论回复
沙发
w2nme1ai7| | 2024-2-29 22:39 | 只看该作者
只能说晶振起振了而已

使用特权

评论回复
板凳
Charlene沙| | 2024-2-29 23:11 | 只看该作者
不一定,可能是时钟部分驱动OK,但是程序不一定是正常运行的

使用特权

评论回复
地板
p0gon9y| | 2024-2-29 23:17 | 只看该作者
不是这样的,晶振起振和程序运行正常是两码事儿

使用特权

评论回复
5
q1ngt12| | 2024-2-29 23:55 | 只看该作者
我觉得程序运行看能需要看仿真,这种比较OK

使用特权

评论回复
6
rosemoore| | 2024-3-4 17:53 | 只看该作者
STM32的电源是稳定的,并且所有必要的时钟源都已正确配置。即使外部晶振在振荡,如果其他电源或时钟设置不正确,STM32可能也无法正常工作。

使用特权

评论回复
7
maudlu| | 2024-3-5 09:57 | 只看该作者
晶振的振荡只是为STM32提供了一个稳定的时钟源。要确认程序是否正在执行,您需要查看程序中的某些特定行为或状态,例如通过调试器单步执行,观察GPIO引脚的状态变化,或者通过串行通信(如UART)发送调试信息。

使用特权

评论回复
8
louliana| | 2024-3-7 12:46 | 只看该作者
使用ST-Link/V2或其他调试工具来调试程序。将断点设置在main()函数的开始处,然后逐步执行程序,观察是否按预期执行。

使用特权

评论回复
9
wangdezhi| | 2024-3-7 23:41 | 只看该作者
可以通过编程的方式读取STM32的相关寄存器来检测外部晶振的状态。例如,使用RCC->CR & RCC_CR_HSERDY可以读出当前外部晶振是否准备就绪。

使用特权

评论回复
10
lzbf| | 2024-3-8 20:22 | 只看该作者
即使晶振在振荡,处理器也可能因为其他原因(如程序错误、硬件故障等)而无法正常运行程序。

使用特权

评论回复
11
mmbs| | 2024-3-11 14:31 | 只看该作者
如果程序在运行,可能会控制一些外设,如LED灯、串口等。观察这些外设的状态,如果它们按照程序的预期行为工作,那么可以判断程序正在运行。

使用特权

评论回复
12
deliahouse887| | 2024-3-11 17:33 | 只看该作者
如果程序已经在运行,可以通过观察特定的输出引脚状态变化、串口输出信息、LED闪烁等方式来验证。

使用特权

评论回复
13
robincotton| | 2024-3-11 21:46 | 只看该作者
尽管程序可能已经配置为使用外部晶振,但仍需确保硬件连接正确无误,包括晶振的接线及匹配电容等。错误的硬件连接可能导致晶振不起振或不稳定。

使用特权

评论回复
14
iyoum| | 2024-3-12 11:38 | 只看该作者
使用STM32的调试工具,如JTAG或SWD接口,连接到调试器。通过调试器可以观察程序的执行情况,如当前执行的指令、寄存器值等。如果程序在运行,且晶振正常振荡,那么可以判断程序正在运行。

使用特权

评论回复
15
timfordlare| | 2024-3-12 16:06 | 只看该作者
使能外部高速晶振并在示波器上观察到晶振正常振荡,仅表明STM32芯片的电源和晶振电路工作正常,要确定程序是否在运行,需要结合其他方法进行判断。

使用特权

评论回复
16
updownq| | 2024-3-14 11:55 | 只看该作者
在程序中设置一个循环,例如一个无限循环,以保持程序持续运行。如果程序在运行,且晶振正常振荡,那么可以判断程序正在运行。

使用特权

评论回复
17
wwppd| | 2024-3-14 18:39 | 只看该作者
如果外部晶振无法正常工作,STM32会自动启用内部的HSI(内部高速时钟)作为系统主频。这种情况下,即使外部晶振没有起振,单片机仍然会运行,但主频会降低

使用特权

评论回复
18
gygp| | 2024-3-15 12:58 | 只看该作者
在程序中实现错误处理机制,例如通过硬件定时器或看门狗定时器来检测可能的程序挂起或崩溃。

使用特权

评论回复
19
我吃小朋友| | 2024-3-15 14:15 | 只看该作者
只能说,程序不一定是正常运行的

使用特权

评论回复
20
她已醉| | 2024-3-15 14:16 | 只看该作者
可能是你的晶振电路OK了而已,其他的不好说

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1504

主题

4518

帖子

6

粉丝