这个语句可以用白话解释为:“持续等待,直到外部时钟准备就绪。”
while(!(RCC->CR>>17)); 这段代码在单片机编程中表示一个循环等待。具体来说,它在检查寄存器RCC->CR的第17位(从0开始计数),当该位为1时,表示外部时钟已经准备好。如果第17位为0,代码将一直停留在这个循环中等待,直到该位变为1,表示外部时钟已准备就绪。
不会的,这两句用的是位或的方式,前面那句 PLL<<18位,因为 PLL最小是2,所以
这句执行的结果是 影响 CFGR 的第 19位以上,因为 2<<18 相当于 1<<19,所以影响的最小位是19位,后面那句 1<<16,只影响到CFGR的第16位, 两者不在同一区域,所以互不影响
而且,后面的 1<<16位,只能第16位是1,其他位全是 0,跟前面的位或,不会影响其他位
stm32
的每一个引脚都有始终控制,这样在不用的时候可以关闭时钟来达到节能的目的,所以,如果要使用外设,必须先打开时钟,否则没有办法进行 *** 作的。。。
具体函数是
RCC_APB2PeriphClockCmd(uint32_t
RCC_APB2Periph,FunctionalState
NewState)
RCC_APB2Periph是你要打开或者关闭的外设,NewState是enable或者disable为打开或者关闭…………
以上就是关于单片机语句这个语句白话一点怎么 while(!(RCC->CR>>17));//等待外部时钟就绪全部的内容,包括:单片机语句这个语句白话一点怎么 while(!(RCC->CR>>17));//等待外部时钟就绪、STM32系统时钟初始化程序。、点亮LED灯的STM32程序中为什么要首先设置外设时钟使能函数#define RCC_GPIO_LED RCC_APB2Periph_GPIOD等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)