STM32F10X SPI/I2S固件库:内部低速振荡时钟控制

需积分: 4 36 下载量 95 浏览量 更新于2024-08-06 收藏 13.02MB PDF 举报
"STM32F10X_SPI_I2S固件库中文手册-关于停止和重启内部低速振荡时钟的示例" 在STM32F10X微控制器系列中,内部低速振荡器(LSI)是一个重要的时钟源,通常用于特定的外围设备如看门狗定时器、8位定时器H1和LCD控制器。根据用户手册U18329CA2V0UD172的第五章5.6.4节,我们可以了解到如何控制内部低速振荡时钟的操作。 **停止内部低速振荡时钟的过程**: 1. 设置LSRSTOP位:要停止LSI,需要将寄存器RCM中的LSRSTOP位置1。这会切断内部低速振荡时钟的供应,但请注意,如果通过选项字节设置了“内部低速振荡器不能停止”,则无法执行此操作。 **重新启动内部低速振荡时钟的过程**: 1. 清零LSRSTOP位:若要重新启用LSI,必须将RCM寄存器中的LSRSTOP位清零。这将使内部低速振荡器恢复振荡。 值得注意的是,如果通过选项字节选择了“不能停止内部低速振荡器”的配置,那么程序将无法控制LSI的启停。在复位后,LSI会自动开始工作,并在选项字节允许的情况下驱动看门狗定时器。 **CPU和外部硬件使用的时钟**: CPU以及外部硬件的时钟选择受到多个寄存器设置的影响,如主时钟模式寄存器(MCM)的XSEL位、处理器时钟控制寄存器(PCC)的CSS位、MCM的MCM0位以及时钟操作模式选择寄存器(OSCCTL)的EXCLK位。这些寄存器的组合确定了CPU是否使用内部高速振荡时钟、X1时钟还是外部主系统时钟。 例如,当XSEL=0, CSS=0, MCM0=0, EXCLK=0时,CPU使用内部高速振荡时钟;而当XSEL=1, CSS=0, MCM0=0, EXCLK=1时,CPU则使用外部主系统时钟。详细的时钟与寄存器设置关系可参考文档中的表5-4。 **注意事项**: - 文档中的信息可能会随时间更新,因此在使用Renesas Electronics产品前,应向其销售办公室确认最新的产品信息。 - 关注Renesas Electronics通过网站发布的额外和不同的信息披露。 本手册适用于那些希望深入了解STM32F10X系列微控制器时钟管理的开发者,特别是涉及SPI和I2S外设操作的场景。对于需要优化系统功耗或调整时钟源的项目,这些信息是至关重要的。