[STM32] STM8切换HSE时钟源为什么还要操作中断?

[复制链接]
1841|13
 楼主| impig33 发表于 2018-1-17 17:09 | 显示全部楼层 |阅读模式
本帖最后由 impig33 于 2018-1-17 19:18 编辑

(龙顺宇:深入浅出STM8单片机)




(范红刚: STM8单片机自学笔记)


按上面的流程图,stm8在切换hse时钟源时,在第4步操作了中断。有点不解,这里不是直接切换过去就可以了,操作中断有什么用途呢?


小白,请多赐教,少拍砖。

@程序匠人 @ddllxxrr @dalarang @datouyuan
.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xyz549040622 发表于 2018-1-17 22:11 | 显示全部楼层
寄存器CLK_SWCR中的标志位SWIF用以指示目标时钟源是否已稳定,如果SWIEN为1,则会产生一个中断。
ayb_ice 发表于 2018-1-18 08:31 | 显示全部楼层
应该非必须,查询也是可以的
 楼主| impig33 发表于 2018-1-18 09:26 | 显示全部楼层
xyz549040622 发表于 2018-1-17 22:11
寄存器CLK_SWCR中的标志位SWIF用以指示目标时钟源是否已稳定,如果SWIEN为1,则会产生一个中断。 ...

是在运行的时候自动产生一个中断?
 楼主| impig33 发表于 2018-1-18 09:28 | 显示全部楼层
ayb_ice 发表于 2018-1-18 08:31
应该非必须,查询也是可以的

<深入浅出STM8单片机>原作者的回复是:

中断并非必须,你可以按照需求来。
一般都不需要,除非是想验证时钟的切换过程,开启中断后去点个灯看看,判断切换的速度等,但是这样操作意义不大。
xyz549040622 发表于 2018-1-18 09:58 | 显示全部楼层
impig33 发表于 2018-1-18 09:26
是在运行的时候自动产生一个中断?

是的,我是这么理解的。
ddllxxrr 发表于 2018-1-18 11:14 | 显示全部楼层
本帖最后由 ddllxxrr 于 2018-1-18 13:08 编辑

上边有如果两字,没有更好,有在中断中处理一下。

评论

不懂,求详解  发表于 2018-1-18 12:08
ddllxxrr 发表于 2018-1-18 13:12 | 显示全部楼层
就是这个中断可有可无,你不中断也可以执行下去,有中断就用中断那个方式执行,没有就按顺序执行

评论

好的,谢谢  发表于 2018-1-18 13:19
datouyuan 发表于 2018-1-18 14:38 | 显示全部楼层
我没用过STM8单片机。在别的mcu上切换,都是按规格书或例程做,顶多加个延时待时钟稳定。
caijie001 发表于 2018-1-19 13:35 | 显示全部楼层
没深究,用过学过stm8,
 楼主| impig33 发表于 2018-1-21 12:03 | 显示全部楼层
自答一下:

这里切换HSE时钟源的目的是,让单片机在外部时钟稳定后产生一个中断,然后我们在程序中来抓这个中断,如果抓到,说明外部时钟稳定了,才将工作频率切换过去。

并非必须,但是对稳定工作有好处,代码也更健壮。

.
zqx1000 发表于 2018-4-10 19:27 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

67

帖子

0

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