TIM_TypeDef 是结构体
((TIM_TypeDef *) TIM2_BASE) 把一个差团搏地址强制转换虚祥为结构体类型。
宏是在编译时 进行原文替换的。也就是 说程序里的GPIOA就替换为 ((GPIO_TypeDef *) GPIOA_BASE)GPIOA_BASE估计是个A端口的首地址,然后强制纳模转换为GPIO类型的指针。就可以用了。逗茄稿这样你GPIOA.xxx 其实就是指针偏移到特定xxx的地址。
GPIO_TypeDef是一种结构体
结构体无非是规定了一些结构成员的偏移量。最早都是自己写偏移量的,有了结构之后,就可以山孝点成员,系统自动计算偏移,这样就不需要人工计算偏移。//这段 是我自己的理解,自己看着办。
stm32是32位罩余机寄存器都是32位,这两句是对GPIOB->CRL寄存器的 *** 作!物码滚运行步骤:
8<<28,就是把8左移28位 然后与上面的寄存器 或运算,并赋值给寄存模仔器。
前面的&=就是先清0,
不懂追问!
直接跟你说了GPIOB->CRL |= 0x1000F FF FF FF
第二句:GPIOB->CRL |= 0011 F FF FF FF
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)