论坛元老
 
- 积分
- 3347
- 金钱
- 3347
- 注册时间
- 2013-4-10
- 在线时间
- 333 小时
|
发表于 2016-5-21 21:03:21
|
显示全部楼层
从上图来看, 你有点吃力啊! 哪些画圈的都是位操作的一种方式, 用于修改指定寄存器中的位状态, 这个需要你自已去好好看看芯片资料说明,
单从C语言的角度出发, 你要好好去看看C的基础知识!
如比, 你图上的4行哪句,
RCC->APB2ENR |= 1<<11; //TIM1的时钟使能
"APB2ENR" 这是STM32 的外设时钟使能寄存器, 2 没有别的意思, 是这个寄存器名称其中的一个字符,
1<<11 意思是 : 1的二进制 32位是 0000 0000 0000 0000 0000 0000 0000 0001
左移 11位 结果是 ....... 0000 1000 0000 0000
|= 的意思是加 如果 APB2ENR 的11位是0 RCC->APB2ENR |= 1<<11; 后, APB2ENR的11位就变成了1 否则不变, APB2ENR 的11位是定时器1的时钟控制位, 0失能, 1使能, 所以这句的意思就是 将 定时器1的时钟打开!!
全总说完太多了, 你好自已找资料来慢慢看! 看完资料后, 我相信你都会后悔发这个贴子,
在驱动电机中有搞不明白的地方可以来问我,! 我也是用STM32来做电机控制的! |
|