【嵌入式】自由时钟 (free running clock) 和非自由时钟 (non-free running clock)

自由时钟

自由时钟(free running clock),即运行时时钟频率、占空比等不随时间发生变化的时钟,通俗来讲线上一直有稳定的时钟信号,比如 I2S 的MCLK、BCLK

非自由时钟

非自由时钟(Non-free running clock),即在运行时,时钟信号不是稳定产生的,只有发送、接受数据时才需要时钟信号,比如 I2C 、SPI 的时钟信号

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32是一款广泛应用于嵌入式系统的微控制器系列,它内部集成了多个时钟模块,用来为不同的外设和计时功能提供时钟。下面我们来介绍一下STM32嵌入式时钟代码的编写方法。 首先,在使用之前需要在系统初始化代码中对时钟进行配置。一般来说,我们可以通过RCC寄存器来配置STM32的时钟。例如,通过设置RCC_CFGR寄存器可以选择系统时钟源,通过设置RCC_PLLCFGR寄存器可以配置PLL锁相环模块的输入时钟和倍频系数等。 在配置完时钟后,我们可以根据需要为不同的外设模块配置时钟。对于常用的GPIO、USART、SPI等外设,我们可以通过使能对应的时钟使能位来启用时钟。例如,使用RCC_AHB1ENR寄存器使能GPIOA的时钟,使用RCC_APB1ENR寄存器使能USART2的时钟。 在进行时钟配置和使能之后,我们可以根据需要使用相应的外设模块。在使用外设之前,需要确保时钟已经配置并且使能。例如,如果要使用USART2进行串口通信,需要先使能USART2的时钟,并进行相应的配置。之后就可以使用USART2模块进行数据的发送和接收。 需要注意的是,在使用完外设后,为了节省功耗,我们可以通过清除相关的使能位来关闭对应的时钟。例如,使用RCC_AHB1ENR寄存器清除GPIOA的时钟使能位。 在编写STM32嵌入式时钟代码时,需要了解每个外设的时钟配置和使能方式,并结合具体的应用场景进行配置。此外,为了保证系统的稳定性和可靠性,还需要合理设置时钟的频率和倍频系数,并遵循相关的时序要求。 综上所述,编写STM32嵌入式时钟代码需要配置系统时钟、使能外设以及按需使用时钟模块。熟悉各个外设的时钟配置和使能方式,并根据具体的应用场景进行相应的配置。时钟的设置需要注意系统稳定性和时序要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值