STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 07:37:10
![STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应](/uploads/image/z/11457515-11-5.jpg?t=STM32%E4%B8%ADTIM_TypeDef%2A+TIMx%2C%E5%AE%9A%E4%B9%89%E7%9A%84%E6%98%AF%E4%BB%80%E4%B9%88%E6%95%B0%E6%8D%AE%3F%E5%85%B7%E4%BD%93%E5%A6%82%E4%B8%8B%EF%BC%9ATIM_TimeBaseInit%28TIM_TypeDef%2A+TIMx%2CTIM_TimeBaseInitTypeDef%2A+TIM_TimeBaseInitStruct%29%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E4%B8%ADTIM_TypeDef%2A+TIMx%E5%AE%9A%E4%B9%89%E7%9A%84%E6%98%AF%E4%BB%80%E4%B9%88%E7%B1%BB%E5%9E%8B%E7%9A%84%3F%E5%81%87%E5%A6%82%E8%BE%93%E5%85%A5%E7%9A%84%E5%8F%82%E6%95%B0%E6%98%AFTIM2%2CTIM2%E5%AF%B9%E5%BA%94)
STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应
STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:
TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中
TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应的是外设地址?被搞晕了,
STM32中TIM_TypeDef* TIMx,定义的是什么数据?具体如下:TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)这个函数中TIM_TypeDef* TIMx定义的是什么类型的?假如输入的参数是TIM2,TIM2对应
库函数的精髓之一.
首先TIM2是一个结构体,就和我们写C语言的结构体一样,一般情况下,我们定义的结构体会有系统分配内存,放在系统堆栈当中,但是在这里:
#define TIM2 ((TIM_TypeDef *) TIM2_BASE)
定义了一个结构体变量TIM2,并且把这个结构体变量强制放在地址为TIM2_BASE的地方,我们可以查到TIM2_BASE的值为0x40000000,你可以从STM32应用文档中看到TIM2外设对应的地址:
也就是TIM2外设相关控制寄存器都在这个地址范围里面,对TIM2结构体变量成员的操作就等于对TIM2外设寄存器的操作.比如:
TIM2->CR1的地址就是0x40000000,TIM2的CR1寄存器地址也是0x40000000
TIM2->CR2的地址就是0x40000004,TIM2的CR2寄存器地址也是0x40000004
那么对TIM->CR1和TIM2->CR2的读写操作也就是对定时器2的CR1、CR2寄存器的读写操作.